#ifndef	EPAIRS_H_
#define	EPAIRS_H_

/*
	Here are all the lightstyles that are defined at this time

		0 : "Normal"
		1 : "Flicker #1"
		6 : "Flicker #2"
		2 : "Slow Strong Pulse"
		3 : "Candle #1"
		7 : "Candle #2"
		8 : "Candle #3"
		4 : "Fast Strobe"
		5 : "Gentle Pulse #1"
		9 : "Slow Strobe"
		10 : "Fluorescent Flicker"
		11 : "Slow pulse, no black"
*/

userEpair_t eclassStr[] =
{
	//////////////////////////////
	// Worldspawn
	//////////////////////////////
	{"classname",   "worldspawn"},
	{"color",       "0 0 0"},
	{"rem",         "Only used for the world entity."},
	{"rem",			"cdtrack - number of CD track to play when level starts"},
	{"rem",			"fog_value - fog on-off/intensity"},
	{"rem",			"fog_color - rgb color of fog"},
	{"rem",			"fog_start - start of fog volume"},
    {"rem",			"fog_end - end of fog volume"},

	{"rem",			"sky             - skybox name"},
	{"rem",			"cloudname       - name of cloud texture to use, no suffix"},
	                               
    {"rem",			"cloudxdir       - cloud x scroll value (-1 to 1, default 1.0)"},
	{"rem",			"cloudydir       - cloud y scroll value (-1 to 1, default 0.8)"},
	
    {"rem",			"cloud1tile      - number of repeats of layer 1 cloud texture (default 8)"},
	{"rem",			"cloud2tile      - number of repeats of layer 2 cloud texture (default 2)"},
	
    {"rem",			"cloud1speed     - scrolling speed for layer 1 (default 1)"},
    {"rem",			"cloud2speed     - scrolling speed for layer 2 (default 4)"},
    
    {"rem",			"cloud2alpha     - translucency of layer 2 (default 0.7, 0 means no layer 2)"},
    {"rem",			"lightningfreq   - min seconds between lightning flashes (default 0.25, 0 means no lightning)"},
    {"rem",			"cinematic_intro - min seconds between lightning flashes (default 0.25, 0 means no lightning)"},
	

	//////////////////////////////
	// viewthing
	//////////////////////////////

	{"classname",    "viewthing"},
	{"color",        "0.0 0.5 0.8"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "For debugging only."},
	
	//////////////////////////////
	// Light
	//////////////////////////////
	{"classname",	"light"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"START_OFF"},
	{"flag",		"FLARE"},

	{"rem",			"light - intensity of light"},
	{"rem",			"style - number of style to use, 0-63"},
	{"rem",			"lightstyle - string to define lightstyle"},
	{"rem",			"To create a custom lightstle, set the style"},
	{"rem",			"key to a value between 12 and 63.  Then set"},
	{"rem",			"the lightstyle key.  Valid values for the "},
	{"rem",			"lightstyle key are a - z, a being the brightest"},
	{"rem",			"and z being the darkest.  Each value represents"},
	{"rem",			"1 server frame whihc is 1/10th of a second."},

	//////////////////////////////
	// light_flare
	//////////////////////////////
	{"classname",	"light_flare"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"0.9 0.9 0.9"},
	{"flag",		"START_OFF"},
	{"rem",			"model - name of sprite model for flare effect"},
	{"rem",			"        for example, \"models/global/e_flare1.sp2\""},
    {"rem",         "scale - set the scale of the model (default is 1.0)"},
    {"rem",         "make sure you specify x y and z (seperated by spaces)."},

	//////////////////////////////
	// light_walltorch
	//////////////////////////////
	{"classname",	"light_walltorch"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"START_ON"},

	{"rem",			"style - number of style to use, 0-63"},
	{"rem",			"lightstyle - string to define lightstyle"},
	{"rem",			"To create a custom lightstle, set the style"},
	{"rem",			"key to a value between 12 and 63.  Then set"},
	{"rem",			"the lightstyle key.  Valid values for the "},
	{"rem",			"lightstyle key are a - z, a being the brightest"},
	{"rem",			"and z being the darkest.  Each value represents"},
	{"rem",			"1 server frame whihc is 1/10th of a second."},

	//////////////////////////////
	// light_flame
	//////////////////////////////
/*
	{"classname",	"light_flame"},
	{"size",		"-8 -8 -28 8 8 8"},
	{"color",		"0 1 0"},

	{"rem",			"scale - size multiplier for flame sprite."},
	{"rem",			"model - model for flame.  Default is \"models/global/pt_fire1.sp2\""},
*/
	//////////////////////////////
	// light_e1
	//////////////////////////////
	{"classname",	"light_e1"},
	{"size",		"-8 -8 -28 8 8 8"},
	{"color",		"0 1 0"},
	{"rem",			"scale - amount to scale (%f %f %f)"},

	//////////////////////////////
	// light_e2
	//////////////////////////////
	{"classname",	"light_e2"},
	{"size",		"-8 -8 -28 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"D2_TORCH1"},
	{"flag",		"D2_TORCH1B"},
	{"flag",		"D2_TORCH2"},
	{"flag",		"D2_TORCH3"},
	{"rem",			"scale - amount to scale (%f %f %f)"},

	//////////////////////////////
	// light_e3
	//////////////////////////////
	{"classname",	"light_e3"},
	{"size",		"-8 -8 -28 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"D3_FIRESHELF"},
	{"flag",		"D3_CANDLE"},
	{"flag",		"D3_FLAMHOLD"},
	{"rem",			"scale - amount to scale (%f %f %f)"},

	//////////////////////////////
	// light_e4
	//////////////////////////////
	{"classname",	"light_e4"},
	{"size",		"-8 -8 -28 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"D4_BARREL1"},
	{"rem",			"scale - amount to scale (%f %f %f)"},

	//////////////////////////////
	// light_spot
	//////////////////////////////
/*
	{"classname",	"light_spot"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"0 1 0"},
	{"flag",		"START_ON"},

	{"rem",			"Used to make a spotlight.  If it is targeted at another entity,"},
	{"rem",			"the spotlight will point directly at it, otherwise it will point"},
	{"rem",			"in the direction of its 'angle' field"},
	{"rem",			""},
	{"rem",			"style - number of style to use, 0-63"},
	{"rem",			"lightstyle - string to define lightstyle"},
	{"rem",			"To create a custom lightstle, set the style"},
	{"rem",			"key to a value between 12 and 63.  Then set"},
	{"rem",			"the lightstyle key.  Valid values for the "},
	{"rem",			"lightstyle key are a - z, a being the brightest"},
	{"rem",			"and z being the darkest.  Each value represents"},
	{"rem",			"1 server frame whihc is 1/10th of a second."},
*/

	//////////////////////////////
	// light_strobe
	//////////////////////////////
	{"classname",	"light_strobe"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"0 1 0"},

	{"flag",		"START_ON"},
	{"rem",			"style - number of style to use, 0-63"},
	{"rem",			"lightstyle - string to define lightstyle"},
	{"rem",			"To create a custom lightstle, set the style"},
	{"rem",			"key to a value between 12 and 63.  Then set"},
	{"rem",			"the lightstyle key.  Valid values for the "},
	{"rem",			"lightstyle key are a - z, a being the brightest"},
	{"rem",			"and z being the darkest.  Each value represents"},
	{"rem",			"1 server frame whihc is 1/10th of a second."},

	//////////////////////////////
	// effect_fog
	//////////////////////////////
	{"classname",	"effect_fog"},
	{"color",		"0 1 0"},
	{"rem",			"Duh, fog."},
	{"rem",			""},

	//////////////////////////////
	// effect_fire
	//////////////////////////////
/*
	{"classname",	"effect_fire"},
	{"color",		"1 1 1"},
	{"height",		"10"},
	{"rem",			"Creates a fire volume.. height is automatically"},
	{"rem",			"calculated from the size of the original brush"},
	{"rem",			"height - distance the fire will rise."},
*/	

	
	//////////////////////////////
	// effect_snow
	//////////////////////////////
	{"classname",	"effect_snow"},
	{"color",		"1 1 1"},
	{"height",		"10"},
	{"flag",		"FALL_STRAIGHT"},
	{"rem",			"Creates a snow volume.. height is automatically"},
	{"rem",			"calculated from the size of the original brush"},
	{"rem",			"height - distance the snow/rain is supposed to fall"},
	
	//////////////////////////////
	// effect_drip
	//////////////////////////////
	{"classname",	"effect_drip"},
	{"color",		"1 1 0"},
	{"height",		"10"},
	{"flag",		"BLOOD DRIP"},
	{"flag",		"SLUDGE DRIP"},
	{"rem",			"Creates a drip volume.. height is automatically"},
	{"rem",			"calculated from the size of the original brush"},
	{"rem",			"height - distance the drip is supposed to fall"},
	{"rem",			"a 16x16 x/y (or smaller) brush will only create one drip"},
	{"rem",			"anything larger will create more drips"},
	{"rem",			"Flags:"},
	{"rem",			"  default drip type is WATER, click the others to change"},
	
	//////////////////////////////
	// effect_rain
	//////////////////////////////
	{"classname",	"effect_rain"},
	{"color",		"0 0.5 0.8"},
	{"flag",		"NORTH"},
	{"flag",		"SOUTH"},
	{"flag",		"EAST"},
	{"flag",		"WEST"},
	{"height",		"10"},
	{"rem",			"Creates a rain volume.. height is automatically"},
	{"rem",			"calculated from the size of the original brush"},
	{"rem",			"height - distance the snow/rain is supposed to fall"},
	{"rem",			"Flags:"},
	{"rem",			"  by default the rain falls straight down.. use the"},
	{"rem",			"  checkboxes to get the rain to fall at an angle"},

	//////////////////////////////
	// effect_lightning
	//////////////////////////////
	{"classname",	"effect_lightning"},
	{"color",		"1.0 1.0 1.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"START ON"},
	{"flag",		"CYCLE"},
	{"flag",		"GROUND STRIKES"},
	{"flag",		"RANDOM DELAY"},
	{"flag",		"SPAWN LIGHT"},
	{"flag",		"NO CLIENTS"},
	{"flag",		"TRACE DMG"},
	{"flag",		"STRIKE ONCE"},
	{"flag",		"NO SPARKS"},
	{"flag",		"CONSTANT"},
	{"flag",		"SCORCH"},

	{"sndkeys",		"sound,sound1,sound2,sound3"},

	{"rem",			"target - attractors with targetname of target will get struck"},
	{"rem",			"  by this entity"},
	{"rem",			"targetname - allows this entity to be turned on and off"},
	{"rem",			"delay - time between strikes (default 2.0)"},
	{"rem",			"dmg - damage if a PLAYER gets hit (default 0.0) based on duration (default 0.5<meaning 5x dmg)"},
	{"rem",			"scale - set the scale of the lightning model (default 4.0)"},
	{"rem",			"chance - pct chance a player will be hit (default 0.10)"},
	{"rem",			"modulation - % of modulation to apply to lightning.  Scalar value."},
	{"rem",			"_color - Color of lightning. (Use 'k')"},
	{"rem",			"gndchance - if GROUND STRIKES is checked, chance for ground hit (default 0.20)"},
	{"rem",			"duration - Period of time that lightning will exist during its strike.(scalar)"},
	{"rem",         "sound, sound1.. - wave file to play when lightning strikes (random if > 1 defined)"},
	{"rem",			"SpawnFlags:"},
	{"rem",			"  START ON - lightning strikes immediately"},
	{"rem",			"  CYCLE - strike attractors in attractor 'triggerindex' order"},
	{"rem",			"  GROUND STRIKES - strike the ground (no attractors are needed)"},
	{"rem",			"  RANDOM DELAY - randomize the delay value"},
	{"rem",			"  SPAWN LIGHT - spawns a dynamic light where the light hits"},
	{"rem",			"  NO CLIENTS - don't use clients as attractors"},
	{"rem",			"  TRACE DMG - electrocute an asshole walking thru the bolt"},
	{"rem",			"  STRIKE ONCE - strike only when triggered"},
	{"rem",			"  NO SPARKS - don't put the little sparks on the lightning"},
	{"rem",			"  CONSTANT - constant bolt. .more efficient than low delay times"},
	{"rem",			"  SCORCH - leave a scorch mark on the ground or on bmodels"},

	//////////////////////////////
	// effect_storm
	//////////////////////////////
	{"classname",	"effect_storm"},
	{"color",		"1.0 1.0 0.0"},
	{"flag",		"START ON"},
	{"flag",		""},
	{"flag",		"GROUND STRIKES"},
	{"flag",		"RANDOM DELAY"},
	{"flag",		""},
	{"flag",		"NO CLIENTS"},
	{"flag",		""},
	{"flag",		"STRIKE ONCE"},
	{"flag",		"NO SPARKS"},
	{"flag",		""},
	{"flag",		"SCORCH"},

	{"sndkeys",		"hit_sound,thunder_sound"},

	{"rem",			"effect_storm is a volume brush that generates lightning and thunder"},
	{"rem",			"targetname - allows this entity to be turned on and off"},
	{"rem",			"delay - time between strikes (default 2.0)"},
	{"rem",			"height - automatically set but can be modified"},
	{"rem",			"snddelay - time after strike for rolling thunder (default 2.0)"},
	{"rem",			"dmg - damage if a PLAYER gets hit (default 0.0)"},
	{"rem",			"scale - set the scale of the lightning model (default 4.0)"},
	{"rem",			"chance - pct chance a player will be hit (default 0.10)"},
	{"rem",			"gndchance - if GROUND STRIKES is checked, chance for ground hit (default 0.20)"},
	{"rem",			"hit_sound - thunder clap played when lightning strikes"},
	{"rem",			"thunder_sound - rolling thunder sound played after snddelay"},
	{"rem",			"SpawnFlags:"},
	{"rem",			"  START ON - lightning strikes immediately"},
	{"rem",			"  GROUND STRIKES - strike the ground (no attractors are needed)"},
	{"rem",			"  RANDOM DELAY - randomize the delay value"},
	{"rem",			"  NO CLIENTS - don't use clients as attractors"},
	{"rem",			"  STRIKE ONCE - strike only when triggered"},
	{"rem",			"  NO SPARKS - don't put the little sparks on the lightning"},
	{"rem",			"  SCORCH - leave a scorch mark on the ground or on bmodels"},




	//////////////////////////////
	// effect_steam
	//////////////////////////////
	{"classname",	"effect_steam"},
	{"color",		"1.0 0.6 0.3"},
	{"flag",		"RANDOM DELAY"},
    {"flag",        "START ON"},
    {"flag",        "JET ONCE"},
    {"flag",        "FREEZE SPRAY"},
	{"sndkeys",		"loop_sound"},

	{"rem",			"effect_steam is a volume brush that generates steam blasts"},
	//{"rem",			"targetname - allows this entity to be turned on and off"},
	{"rem",			"delay    - time between jets (default 6.0)"},
    {"rem",         "duration - length of time to spray (default 2.0)"},
    {"rem",         "vector   - direction/distance to jet steam"},
	{"rem",			"damage   - damage if a PLAYER gets hit (default 0.0)"},
	{"rem",			"scale    - set the scale of the steam sprite (default 1.0)"},
	{"rem",			"sound    - sound played while steam is jetting"},
	{"rem",			"SpawnFlags:"},
	{"rem",			"  START ON     - steam jets immediately"},
	{"rem",			"  RANDOM DELAY - randomize the delay value"},
	{"rem",			"  JET ONCE     - jet only when triggered"},
    {"rem",         "  FREEZE SPRAY - damage is freeze effect"},

	//////////////////////////////
	// SFX DEFINES
	//////////////////////////////

	//////////////////////////////
	// SFX_ComplexParticle <nss>
	//////////////////////////////
	{"classname",	"sfx_complex_particle"},
	{"color",		".65 0.65 0.15"},
	{"size",          "-8 -8 -8 8 8 8"},
	{"flag",		"P_SIMPLE"},
    {"flag",        "P_TRIANGLE"},
	{"flag",        "P_RAIN"},    
	{"flag",        "P_SMOKE"},
    {"flag",        "P_FLARE"},
    {"flag",        "P_DEBRIS"},
    {"flag",        "P_SOFTROUND"},
    {"flag",        "P_BUBBLE"},
	{"flag",        "Toggle Emit"},
	{"flag",        "Random Emit"},
	{"flag",        "Start Off"},
	{"flag",        "Toggle"},
	{"rem",			"###################NSS#####################"},
	{"rem",			"#############Complex Particle##############"},
	{"rem",			"##################v1.4#####################"},
	{"rem",			"DEFINES:......................................................................"},
	{"rem",			" COUNT:		Number of particles to spray(1 is normal for streams of particles)..(int) !> 10"},
	{"rem",			" SPREAD:		Degrees of Conic spread for the particle stream (360 = a sphere)...(int)"},
	{"rem",			" VELOCITY:		How fast the particles move..............(float)"},
	{"rem",			" EMISSION:		Emission rate on a per frame basis.......(int) !<1 anything <1 will = 1"},
	{"rem",			" EMISSIONTIME:	Active only if Toggle Emmision flag is set.  Amount of frames particle Emission occurs.(int)"},
	{"rem",			" SCALE:		The size of the particles................(float) !< 0.01f !>200.0f"},
	{"rem",			" DELTA_ALPHA:	The decay rate of the particle's life time.  The smaller the value(i.e. 0.10) the longer the life)(float)"},
	{"rem",			" ALPHA_LEVEL:	The initial state of the Alpha level.....(float)"},
	{"rem",			" TARGET:		Name of target to project towards with initial velocity..(chars)"},
	{"rem",			" GRAVITY:		How much gravity to apply to particles. The value is rate of acceleration. This is scalar. Default is none.(float)"},
	{"rem",			" GRAVITYDIR:	Name of target that gravity will be applied towards.(chars) Gets turned into normalized vector. Default is down."},
	{"rem",			" TARGETNAME:	Name of particle stream.  Can be used if targeted from other objects."},
	{"rem",			" STOPTIME:		Time for the SFX Particle generator to spit out particles before it completely shuts down.  It will not generate particles until triggered again."},
	{"rem",			" RADIUS:		Radius spread for spawning particles.  If you are not targeted then you will not get a clean cylindrical shape."},
	{"rem",			" RADIUS Notes:	Suggested use would be a targeted complex particle with, say, more than 3 particles being spawned at once."},
	{"rem",			" To get a clean cylinder make sure your spread is a very low value(i.e. 0 -5). If you emit more than 8 particles make SURE your emission time is higher than 3 if your delta_alpha is a low value."},
	{"rem",			" The color is set by the standard color selection window(hit k when entity is highlighted)"},
	{"rem",			"FLAGS:......................................................................."},
	{"rem",			" P_<Name>:		The type of particle to use. The last particle selection will be the one used."},
	{"rem",			" Toggle Emit:	This will toggle the particle stream off for 'Emission' number of frames.  This will also maintain the particle stream for 'EMISSIONTIME' number of frames."},
	{"rem",			" Random Emit:	Used in conjunction with Toggle Emission only, this will randomize the 'Emission' value, but does assure to hold off for at least 1/4th 'Emission'."},
	{"rem",			" Start Off:	This will start the particle generator in an off state and will not start until triggered."},
	{"rem",			"##########################################"},

	//////////////////////////////
	// func_areaportal
	//////////////////////////////
	{"classname",    "func_areaportal"},
	{"color",        "0 0.5 0.8"},

	//////////////////////////////
	// func_group
	//////////////////////////////
	{"classname",    "func_group"},
	{"color",        "0 0.5 0.8"},

	//////////////////////////////
	// func_gib <nss>
	//////////////////////////////
	{"classname",	"func_gib"},
	{"color",		"0 0.5 0.8"},
	{"size",          "-4 -4 -4 4 4 4"},
	{"flag",		"GIB_ROBOTIC"},
    {"flag",        "GIB_BONE"},
	{"flag",        "NO BLOOD"},    
	{"flag",        "START ON"},
	{"flag",        "NO TOGGLE"},
	{"rem",			"###################NSS#####################"},
	{"rem",			"###############GIB GENERATOR###############"},
	{"rem",			"##################v1.0#####################"},
	{"rem",			"DEFINES:......................................................................"},
	{"rem",			" COUNT:		Number of gibs to throw out per think cycle..(int) !> 10"},
	{"rem",			" SPREAD:		Degrees of Conic spread for the particle stream (360 = a sphere)...(int)"},
	{"rem",			" VELOCITY:		How fast the gibs move..............(float)"},
	{"rem",			" SCALE:		The size of the gibs................(float) !< 0.01f !>200.0f"},
	{"rem",			" TARGET:		Name of target to project towards with initial velocity..(chars)"},
	{"rem",			" TARGETNAME:	Name of gib stream.  Can be used if targeted from other objects."},
	{"rem",			" STOPTIME:		Time for the gib generator to spit out gibs before it toggles itself off."},
	{"rem",			"FLAGS:......................................................................."},
	{"rem",			" GIB_ROBOTIC:	Robitc type gibs(default is meaty chunks)."},
	{"rem",			" GIB_BONE:		Bone type gibs."},
	{"rem",			" NO BLOOD:		Gib pieces will not have a blood stream following them."},
	{"rem",			" START ON:		Makes the gib generator start on."},
	{"rem",			" NO TOGGLE:	Assures a constant stream of gibs always."},
	{"rem",			"##########################################"},

	//////////////////////////////
	// func_door
	//////////////////////////////
	{"classname",    "func_door"},
	{"color",        "0 0.5 0.8"},
	{"health",		 "0"},
	{"speed",		 "100"},
	{"wait",		 "3"},
	{"lip",			 "8"},
	{"dmg",			 "2"},
	{"angle",		 "0 0 0"},
	{"targetname",	 ""},
	{"flag",         "START_OPEN"},
	{"flag",         "REVERSE"},
	{"flag",         "DOOR_DONT_LINK"},
	{"flag",         "TOGGLE"},
	{"flag",		 "AUTO_OPEN"},
	{"flag",		 "USE_TO_CLOSE"},
	{"flag",		 "CONTINUOUS"},
	{"flag",		 "LOOP_DOOR_SOUNDS"},
	{"flag",		 "STRUGGLE"},
	{"flag",		 "FORCEMOVE"},

	{"sndkeys",		 "sound_opening,sound_open_finish,sound_closing,sound_close_finish"},

	{"rem", "Doors that touch are linked together to operate as one."},
	{"rem", "  "},
	{"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"},
	{"rem", "angle - determines the opening direction"},
	{"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."},
	{"rem", "keyname - if set, the player must have the specified item in their inventory i.e. 'item_crypt_key'"},
	{"rem", "health - if set, door must be shot open"},
	{"rem",	"speed - movement speed (100 default)"},
	{"rem", "wait - time to wait before returning (3 default, -1 = never return)"},
	{"rem",	"lip - amount of door visible remaining at end of move (8 default)"},
	{"rem",	"dmg - damage to inflict when blocked (2 default)"},
	{"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"},
	{"rem",	"sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"},
	{"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"},
	{"rem",	"sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"},
	{"rem",			"cinescript - name of the cinematic script to run"},
	{"rem",			"aiscript - name of the AI script to run"},
	{"rem", "  "},
	{"rem", "Spawnflags:"},
    {"rem", "TOGGLE causes the door to wait in both the start and end states for a"},
    {"rem", "trigger event."},
    {"rem", "  "},
    {"rem", "START_OPEN causes the door to move to its destination when spawned, and"},
    {"rem", "operate in reverse.  It is used to temporarily or permanently close off an"},
    {"rem", "area when triggered (not usefull for touch or takedamage doors)."},
	{"rem",	"AUTO_OPEN will spawn a trigger field around the door that can open it without"},
	{"rem", "its being used."},
	{"rem",	"DOOR_DONT_LINK will stop a door from being automatically linked to other doors"},
	{"rem", "that it touches."},
	{"rem",	"DOOR_CONTINUOUS will make the door keep opening and closing once it is triggered"},
	{"rem",	"If triggered again, it will stop."},
	{"rem", "LOOP_DOOR_SOUNDS will loop the opening and closing sounds.  Otherwise they will"},
	{"rem", "only be played once."},
	{"rem",	"STRUGGLE - plays struggle sound if object is not useable (locked, etc)"},
     
	//////////////////////////////
	// misc_hosportal
	//////////////////////////////
	{"classname",     "misc_hosportal"},
    {"size",          "-16 -16 -24 16 16 32"},
    {"color",         "1.0 0.0 0.0"},	
    {"health",        "100"},
    {"max_juice",     "100"},
	{"bestow_rate",	  "0.25"},
	{"recharge_rate", "1.0"},
    {"style",         "0"},
	{"flag",		  "ALLOW_HEALTH"},

	{"sndkeys",		  "sound_use,sound_healthup,sound_use_done,sound_use_out,sound_recharged"},

	{"rem", "style - 0=large (with walls), 1=medium (no walls), 2=small (monitor)"},
    {"rem", "health - health of entity (0 if indestructable)"},
    {"rem", "max_juice - max amount of health to restore before depleted (100)"},
	{"rem",	"bestow_rate - speed at which to give health to player (0.25)"},
	{"rem", "recharge_rate - seconds before recharging 5/% of max_juice (0 = no recharge)"},
	{"rem", "sound_use - sound to play during initial use"},
    {"rem", "sound_healthup - sound when health is bestowed"},
	{"rem",	"sound_use_done - sound when max_juice is depleted"},
	{"rem", "sound_use_out - sound when activating depleted maxjuice"},
    {"rem", "sound_recharged - sound when hosportal is recharged"},

	//////////////////////////////
	// misc_fountain
	//////////////////////////////
	{"classname",     "misc_fountain"},
    {"size",          "-16 -16 -24 16 16 32"},
    {"color",         "1.0 0.0 0.0"},	
    {"health",        "100"},


	//////////////////////////////
	// misc_drugbox
	//////////////////////////////
	{"classname",     "misc_drugbox"},
    {"size",          "-16 -16 -24 16 16 32"},
    {"color",         "1.0 0.0 0.0"},	
    {"health",        "100"},

	//////////////////////////////
	// misc_healthtree
	//////////////////////////////
	{"classname",     "misc_healthtree"},
    {"size",          "-16 -16 -24 16 16 32"},
    {"color",         "1.0 0.0 0.0"},	
    {"health",        "100"},
    {"max_fruit",     "5"},
    {"fruit_value",   "10.0"},
	{"recharge_rate", "0.0"},
//	{"sndkeys",		  "sound_use1, sound_use2,sound_regen"},
//    {"rem", "health - health of entity (0 if indestructable)"},
    {"rem", "max_fruit   - max # of fruits on tree (5)"},
//    {"rem", "fruit_value - health value per fruit (10)"},
//	{"rem", "recharge_rate - seconds before each fruit regenerates (0 = no recharge)"},
//	{"rem", "sound_use1  - 'use' sound, variation 1"},
//    {"rem", "sound_use2  - 'use' sound, variation 2"},
//    {"rem", "sound_regen - fruit regeneration sound"},
	      
	
	//////////////////////////////
	// func_plat
	//////////////////////////////
	{"classname",    "func_plat"},
	{"color",        "0 0.5 0.8"},
	{"flag",         "PLAT_START_UP"},
	{"flag",         ""},
	{"flag",         ""},
	{"flag",         "PLAT_TOGGLE"},

	{"sndkeys",		 "sound_up,sound_top,sound_down,sound_bottom"},

	{"rem", "Plats should be drawn in the up position to spawn correctly"},
	{"rem",	" "},
	{"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"},
	{"rem", "angle - determines the opening direction"},
	{"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."},
	{"rem", "health - if set, door must be shot open"},
	{"rem",	"speed - movement speed (100 default)"},
	{"rem", "wait - time to wait before returning (3 default, -1 = never return)"},
	{"rem",	"height - number of units to move the platform up from spawn position.  If height is"},
	{"rem", "not specified, then the movement distance is determined based on the vertical size of the platform."},
	{"rem",	"dmg - damage to inflict when blocked (2 default)"},
	{"rem", "sound_up - name of the sound to play when going up, ie. doors/creek.wav"},
	{"rem",	"sound_top - name of the sound to play when plat hits top, ie. doors/slam.wav"},
	{"rem", "sound_down - name of the sound to play when going down, ie. doors/creek.wav"},
	{"rem",	"sound_bottom - name of the sound to play when plat hits bottom, ie. doors/slam.wav"},
	{"rem",	"volume - 0.0 to 1.0"},
	{"rem",	"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",	"max - 0 to 8160 - maximum distance (volume none)"},
	{"rem",	" "},
	{"rem", "Spawnflags:"},
	{"rem",	"PLAT_START_UP starts the platform in the up (drawn) position"},
	{"rem",	"(height added to drawn position)"},
    {"rem", "TOGGLE causes the platform to wait in both the start and end states for a"},
    {"rem", "trigger event."},

	//////////////////////////////
	// func_door_rotate
	//////////////////////////////
	{"classname",    "func_door_rotate"},
	{"color",        "0 0.5 0.8"},
	{"flag",         "START_OPEN"},
	{"flag",         "REVERSE"},
	{"flag",         "DOOR_DONT_LINK"},
	{"flag",         "TOGGLE"},
	{"flag",		 "AUTO_OPEN"},
	{"flag",		 "USE_TO_CLOSE"},
	{"flag",		 "CONTINUOUS"},
	{"flag",         "X_AXIS"},
	{"flag",         "Y_AXIS"},
	{"flag",		 "SWING"},
	{"flag",		 "STRUGGLE"},
	{"flag",		 "ROTATE_LOOP_SOUNDS"},
	{"flag",		 "FORCEMOVE"},


	{"sndkeys",		 "sound_opening,sound_open_finish,sound_closing,sound_close_finish"},

	{"rem", "if two doors touch, they are assumed to be connected and operate as a unit."},
	{"rem", "  "},
    {"rem", "TOGGLE causes the door to wait in both the start and end states for a"},
    {"rem", "trigger event."},
    {"rem", "  "},
    {"rem", "START_OPEN causes the door to move to its destination when spawned, and"},
    {"rem", "operate in reverse.  It is used to temporarily or permanently close off an"},
    {"rem", "area when triggered (not usefull for touch or takedamage doors)."},
    {"rem", "  "},
    {"rem", "Key doors are allways wait -1."},
    {"rem", "  "},
    {"rem", "You need to have an origin brush as part of this entity.  The center of"},
    {"rem", "that brush will be"},
    {"rem", "the point around which it is rotated. It will rotate around the Z axis by"},
    {"rem", "default.  You can"},
    {"rem", "check either the X_AXIS or Y_AXIS box to change that."},
    {"rem", "  "},
    {"rem", "'distance'	is how many degrees the door will be rotated."},
    {"rem", "'speed'	determines how fast the door moves; default value is 100."},
    {"rem", "  "},
    {"rem", "REVERSE will cause the door to rotate in the opposite direction."},
    {"rem", "  "},
    {"rem", "'message'	is printed when the door is touched if it is a trigger door and"},
    {"rem", "		it hasn't been fired yet."},
    {"rem", "'targetname'	if set, no touch field will be spawned and a remote button or"},
    {"rem", "			trigger field activates the door."},
    {"rem", "'health'	if set, door must be shot open"},
    {"rem", "'wait'	wait before returning (3 default, -1 = never return)"},
    {"rem", "'damage'	damage to inflict when blocked (2 default)"},
	{"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"},
	{"rem",	"sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"},
	{"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"},
	{"rem",	"sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"},
	{"rem",	"volume - 0.0 to 1.0"},
	{"rem",	"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",	"max - 0 to 8160 - maximum distance (volume none)"},
	{"rem",	"AUTO_OPEN will spawn a trigger field around the door that can open it without"},
	{"rem", "its being used."},
	{"rem",	"DOOR_DONT_LINK will stop a door from being automatically linked to other doors"},
	{"rem", "that it touches."},
	{"rem", "SWING - will allow a door to swing both ways"},
	{"rem", "boing      - 0 = ignore (default)  1 = simulate bouncing physics"}, 
	{"rem", "accelerate - 0 = ignore (default)  1 = accelerate rotation from 0 to speed"},
	{"rem", "mass       - 0 = ignore (default)  valid range is 1 = mass of player to 10"},
	{"rem", "                 NOTE: dust and spawnquake are generated based on mass"},
	{"rem", "dust       - 0 = ignore (default)  1 = create a dust cloud when the brush stops"},
	{"rem", "spawnquake	- 0 = ignore (default)  1 = spawn a small quake when the brush stops"},
	{"rem", "LOOP_DOOR_SOUNDS will loop the opening and closing sounds.  Otherwise they will"},
	{"rem", "only be played once."},
	{"rem",	"STRUGGLE - plays struggle sound if object is not useable (locked, etc)"},
			
	//////////////////////////////
	// func_rotate
	//////////////////////////////
	{"classname",    "func_rotate"},
	{"color",        "0.0 0.5 0.8"},
	{"flag",         "START_ON"},
	{"flag",         "REVERSE"},
	{"flag",         "X_AXIS"},
	{"flag",         "Y_AXIS"},

    {"rem", "You need to have an origin brush as part of this entity."},
	{"rem", "The center of that brush will be"},
    {"rem", "the point around which it is rotated. It will rotate around the Z axis by"},
	{"rem", "default.  You can"},
    {"rem", "check either the X_AXIS or Y_AXIS box to change that."},
    {"rem", "  "},
    {"rem", "'speed'	determines how fast it moves; default value is 100."},
    {"rem", "'dmg'	damage to inflict when blocked (2 default)"},
    {"rem", "  "},
    {"rem", "REVERSE will cause the it to rotate in the opposite direction."},

	//////////////////////////////
	// trigger_multiple
	//////////////////////////////
	{"classname",	"trigger_multiple"},
	{"color",		"0.5 0.5 0.5"},
	{"health",		"0"},
	{"delay",		"0"},
	{"wait",		"0.2"},
	{"sound",		""},
	{"targetname",	""},
	{"target",		""},
	{"killtarget",	""},
	{"message",		""},
	{"flag",		"NOTOUCH"},
	{"flag",		"MONSTERS ALSO"},
	
	{"sndkeys",		"sound"},

	{"rem",			"a repeatable trigger, targetted at the entity with the name"},
	{"rem",			"targetname."},
	{"rem",			""},
	{"rem",			"health - if set the trigger must be killed to activate"},
	{"rem",			"delay - time to wait after activation before firing target"},
	{"rem",			"wait - time to wait between retriggering (default = 0.2 seconds)"},
	{"rem",			""},
	{"rem",			"Spawnflags:"},
	{"rem",			"NOTOUCH - if set the trigger is only fired by other entities and"},
	{"rem",			"not by touching."},
	{"rem",			"MONSTERS ALSO - if set the trigger will also be fired when monsters"},
	{"rem",			"touch it"},

	//////////////////////////////
	// trigger_console
	//////////////////////////////
	{"classname",	"trigger_console"},
	{"color",		"0.5 0.5 0.5"},
	{"message",		""},
	{"flag",		"USE ONCE"},
	{"rem",			"message - the command to send to the console when triggered"},
	{"rem",			"Spawnflags:"},
	{"rem",			"USE ONCE - if set the trigger is deleted after it's first use"},

	//////////////////////////////
	// trigger_script
	//////////////////////////////
	{"classname",	"trigger_script"},
	{"color",		"0.5 0.5 0.5"},
	{"wait",		"2.0"},
	{"scriptname",	""},
	{"flag",		"MULTIPLE"},
	{"flag",		"NOTOUCH"},
	{"rem",			"wait - time to wait between retriggering (default = 2.0 seconds)"},
	{"rem",			"delay - delay after triggering before script runs ** doesn't work"},
	{"rem",			"with touch triggers ** (default = 0.0 seconds)"},
	{"rem",			"cinescript - name of the cinematic script to run"},
	{"rem",			"aiscript - name of the AI script to run"},
	{"rem",			"Flags:"},
	{"rem",			"  MULTIPLE - allows you to trigger the cinematic multiple"},
	{"rem",			"  times if checked.. otherwise it deletes itself"},
	{"rem",			"  NOTOUCH - if set the trigger is only fired by other entities"},
	{"rem",			"  and not by touching."},

	//////////////////////////////
	// trigger_once
	//////////////////////////////
	{"classname",	"trigger_once"},
	{"color",		"0.5 0.5 0.5"},
	{"angle",		 "0 0 0"},
	{"health",		"0"},
	{"delay",		"0"},
	{"sound",		""},
	{"targetname",	""},
	{"killtarget",	""},
	{"message",		""},
	{"flag",		"NOTOUCH"},
	{"flag",		"MONSTERS ALSO"},

	{"sndkeys",		"sound"},

	{"rem",			"triggers once, then removes itself"},
	{"rem",			" "},
	{"rem",			"health - if set the trigger must be killed to activate"},
	{"rem",			"delay - time to wait after activation before firing target"},
	{"rem",			"wait - time to wait between retriggering (default = 0.2 seconds)"},
	{"rem",			"sound - name of sound to play upon firing"},
	{"rem",			" "},
	{"rem",			"Spawnflags:"},
	{"rem",			"NOTOUCH - if set the trigger is only fired by other entities and"},
	{"rem",			"not by touching."},
	{"rem",			"MONSTERS ALSO - if set the trigger will also be fired when monsters"},
	{"rem",			"touch it"},

	//////////////////////////////
	// trigger_toggle
	//////////////////////////////
	{"classname",	"trigger_toggle"},
	{"color",		"0.5 0.5 0.5"},

	{"rem",			"triggers once, then when you exit"},
	{"rem",			"resets itself to be triggered again"},



	//////////////////////////////
	// trigger_relay
	//////////////////////////////
	{"classname",	"trigger_relay"},
	{"color",		"0.9 0.0 0.9"},
    {"size",          "-8 -8 -8 8 8 8"},
	{"delay",		"0"},
	{"sound",		""},
	{"targetname",	""},
	{"killtarget",	""},
	{"message",		""},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing"},

	//////////////////////////////
	// trigger_changetarget
	//////////////////////////////
	{"classname",	"trigger_changetarget"},
	{"color",		"0.9 0.0 0.9"},
    {"size",          "-8 -8 -8 8 8 8"},
	{"targetname",	""},
	{"target",		""},
	{"newtarget",	""},
	{"flag",		"USE_ONCE"},

	{"rem",			"target - targetname of entity to change target on"},
	{"rem",			"newtarget - new target for the targetted entity"},
	{"rem",			"FLAGS: USE_ONCE - delete after first use"},


	//////////////////////////////
	// trigger_teleport
	//////////////////////////////
	{"classname",	"trigger_teleport"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"targetname",	""},
	{"killtarget",	""},
	{"message",		""},
	{"flag",		"PLAYER_ONLY"},
	{"flag",		"NO_FLASH"},
	{"flag",		"NO_ANGLE_ADJUST"},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing, if not specified, then no"},
	{"rem",			"sound will be played"},
	{"rem",			"fog_value - sets fog_value to this when a teleporter is used"},
	{"rem",			""},
	{"rem",			"Spawnflags:"},
	{"rem",			"PLAYER_ONLY - will only teleport players (NOT bots)"},
	{"rem",			"NO_FLASH - no spawn fog will be generated when an object teleports"},
	{"rem",			"NO_ANGLE_ADJUST - the object's angle will not be adjusted when it is"},
	{"rem",			"teleported."},

	//////////////////////////////
	// info_teleport_destination
	//////////////////////////////
	{"classname",	"info_teleport_destination"},
	{"color",		"0.5 0.5 0.5"},
	{"size",		"-8.0 -8.0 -8.0 8.0 8.0 8.0"},

	//////////////////////////////
	// trigger_warp
	//////////////////////////////
	{"classname",	"trigger_warp"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"targetname",	""},
	{"killtarget",	""},
	{"message",		""},
	{"flag",		"PLAYER_ONLY"},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing, if not specified, then no"},
	{"rem",			"sound will be played"},
	{"rem",			"fog_value - sets fog_value to this when a warp is used"},
	{"rem",			"speed - speed from this path point to the next"},
	{"rem",			""},
	{"rem",			"Spawnflags:"},
	{"rem",			"PLAYER_ONLY - will only teleport players (NOT bots)"},
	{"rem",			"teleported."},

	//////////////////////////////
	// info_warp_destination
	//////////////////////////////
	{"classname",	"info_warp_destination"},
	{"color",		"0.5 0.5 0.5"},
	{"size",		"-8.0 -8.0 -8.0 8.0 8.0 8.0"},
	{"flag",		"SKIP_TO"},

	{"rem",			"target - next target to warp to"},
	{"rem",			"speed - speed from this path point to the next"},
	{"rem",			"SKIP_TO - player will jump directly to this info_warp_destination"},

	//////////////////////////////
	// trigger_onlyregistered
	//////////////////////////////
	{"classname",	"trigger_onlyregistered"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"wait",		"2.0"},
	{"message",		""},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing"},
	{"rem",			"wait - the number of seconds between triggerings and"},
	{"rem",			"the length of time the message will be displayed"},

	//////////////////////////////
	// trigger_hurt
	//////////////////////////////
	{"classname",	"trigger_hurt"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"dmg",			"2.0"},
	{"wait",		"2.0"},
	{"message",		""},
	{"flag",		"ALLOW_TOGGLE"},
	{"flag",		"START_DISABLED"},
	{"flag",		"FLOWTHRU DMG"},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing"},
	{"rem",			"dmg - the amount of damage the trigger will do to an object"},
	{"rem",			"wait - the number of seconds between triggerings and"},
	{"rem",			"START_DISABLED - when checked, allows the trigger_hurt field"},
	{"rem",			"to be turned on and off by targeting it"},
	{"rem",			"FLOWTHRU DMG - when hitting the trigger, gibs flow in the"},
	{"rem",			"same dir of the player's velocity"},

	//////////////////////////////
	// trigger_push
	//////////////////////////////
	{"classname",	"trigger_push"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"message",		""},
	{"speed",		"200.0"},
	{"flag",		"PUSH_ONCE"},
	{"flag",		"ALLOW_TOGGLE"},
	{"flag",		"START_DISABLED"},

	{"sndkeys",		"sound"},
	
	{"rem",			"speed - the velocity to give the object"},
	{"rem",			"sound - the wave to play when triggered"},
	{"rem",			"message - text message to display when triggered"},

	//////////////////////////////
	// trigger_counter
	//////////////////////////////
	{"classname",	"trigger_counter"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"flag",		"NO_MESSAGE"},
    {"flag",        "NO_TOUCH"},
    {"flag",        "INCLUDE_MONSTERS"},

	{"sndkeys",		"sound"},

	{"rem",			"count - number of times to trigger before firing"},
	{"rem",			"sound - name of sound to play upon firing"},
	{"rem",			"message - message to display upon last triggering"},
	{"rem",			"when NO_MESSAGE is set, no messages are displayed upon triggering"},
	{"rem",			"NO_TOUCH - Does not get touched."},
	{"rem",			"INCLUDE_MONSTERS - set so that monsters can trigger this."},

	//////////////////////////////
	// trigger_changelevel
	//////////////////////////////
	{"classname",	"trigger_changelevel"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"map",			""},
	{"flag",		"INTERMISSION"},
	{"flag",		"REQUIRES_SUPERFLY"},
	{"flag",		"REQUIRES_MIKIKO"},

	{"sndkeys",		"sound"},

	{"rem",			"sound     - name of sound to play upon firing"},
	{"rem",			"target    - the target of the info_player_start on the next level"},
	{"rem",			"map       - the name of the map to go to"},
	{"rem",			""},
	{"rem",			"Flags:"},
	{"rem",			"INTERMISSION	   - Go to intermission before changing level"},
	{"rem",			"REQUIRES_SUPERFLY - Requires Superfly to trigger"},
	{"rem",			"REQUIRES_MIKIKO   - Requires Mikiko to trigger"},

	//////////////////////////////
	// trigger_change_sfx
	//////////////////////////////
	{"classname",	"trigger_change_sfx"},
	{"color",		"0.5 0.5 0.5"},
	{"fxstyle",		"0"},
	{"wait",		"0"},
	{"volume",		"100"},
	{"reverb",		"0"},
	{"flag",		"NORMAL"},
	{"flag",		"PRESET1"},
	{"flag",		"PRESET2"},
	{"flag",		"PRESET3"},
	{"flag",		"PRESET4"},
	{"rem",			"fxstyle - the effect style to be activated"},
	{"rem",			"wait - the number of seconds to wait until triggering"},

	//////////////////////////////
	// trigger_secret
	//////////////////////////////
	{"classname",	"trigger_secret"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"message",		""},

	{"sndkeys",		"sound"},

	{"rem",			"sound - name of sound to play upon firing"},
	{"rem",			"message - message to display upon last triggering"},


    //////////////////////////////
	// trigger_sidekick
	//////////////////////////////
	{"classname",	"trigger_sidekick"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"sidekick",""},
	{"toggle",  "1"},
	{"message",	""},
	{"sndkeys",		"sound"},

	{"rem",     "sidekick - sidekick to activate ('Mikiko' or 'Superfly')"},
	{"rem",     "toggle   - 0 = off, 1 = on"},
	{"rem",			"sound    - name of sound to play upon triggering"},
	{"rem",			"message  - message to display upon last triggering"},

    //////////////////////////////
	// trigger_sidekick_stop
	//////////////////////////////
	{"classname",	"trigger_sidekick_stop"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"animation",   ""},
	{"x",           ""},
	{"y",	        ""},
	{"z",		    ""},

	{"rem",			"sound    - name of sound to play upon triggering" },
	{"rem",         "animation- animtion to play when triggered" },
	{"rem",         "x - x location of for the sidekicks to move when triggered" },
	{"rem",         "y - y location of for the sidekicks to move when triggered" },
	{"rem",         "z - z location of for the sidekicks to move when triggered" },

    //////////////////////////////
	// trigger_sidekick_teleport
	//////////////////////////////
	{"classname",	"trigger_sidekick_teleport"},
	{"color",		"0.5 0.5 0.5"},
	{"sound",		""},
	{"animation",   ""},
	{"x",           ""},
	{"y",	        ""},
	{"z",		    ""},

	{"rem",			"sound    - name of sound to play upon triggering" },
	{"rem",         "animation- animtion to play when triggered" },
	{"rem",         "x - x location of for the sidekicks to move when triggered" },
	{"rem",         "y - y location of for the sidekicks to move when triggered" },
	{"rem",         "z - z location of for the sidekicks to move when triggered" },

	//////////////////////////////
	// func_wall
	//////////////////////////////
	{"classname",	"func_wall"},
	{"color",		"0 0.5 0.8"},
	{"health",		"0"},
	{"message",		""},
	{"targetname",	""},
	{"target",		""},
	{"killtarget",	""},
	{"flag",		"TRIGGER_SPAWN"},
	{"flag",		"TOGGLE"},
	{"flag",		"START_ON"},
	{"flag",		"ANIMATED"},
	{"flag",		"ANIMATED_FAST"},
	{"flag",		"NOT_SOLID"},
	{"flag",		"CTF_WALL_ONLY"},

	{"rem",			"targetname - the name of this wall if it is a target"},
	{"rem",			"target     - the next entity to trigger when this"},
	{"rem",			"             one is triggered"},
	{"rem",			"killtarget - the targetname of the entity to remove"},
	{"rem",			"             when triggered"},
	{"rem",			"cinescript - name of the cinematic script to run when"},
	{"rem",			"             toggled"},
	{"rem",			"aiscript   - name of the AI script to run when toggled"},

	//////////////////////////////
	// func_button
	//////////////////////////////
	{"classname",	"func_button"},
	{"color",		"0 0.5 0.8"},
	{"health",		"0"},
	{"targetname",	""},
	{"target",		""},
	{"killtarget",	""},
	{"speed",		""},
	{"wait",		""},
	{"angle",		""},
	{"lip",			""},
	{"flag",		"PUSH_TOUCH"},
	{"flag",		"STRUGGLE"},

	{"sndkeys",		"sound_use,sound_return"},

	{"rem",			"targetname   - the name of this wall if it is a target"},
	{"rem",			"target       - the next entity to trigger when"},
	{"rem",			"               this one is triggered"},
	{"rem",			"killtarget   - the targetname of the entity"},
	{"rem",			"               to remove when triggered"},
	{"rem",			"keyname      - if set, the player must have the"},
	{"rem",			"               specified item in their inventory"},
	{"rem",			"               i.e. 'item_crypt_key'"},
	{"rem",			"sound_use    - the sound to play when the button"},
	{"rem",			"               is used (defaults to none)"},
	{"rem",			"sound_return - the sound to play when the button"},
	{"rem",			"               returns (defaults to none)"},
	{"rem",			"speed        - rate of travel when button moves"},
	{"rem",			"wait         - seconds to wait befor returning to useable"},
	{"rem",			"               (-1 = never return) (default 1.0)"},
	{"rem",			"angle        - direction of travel"},
	{"rem",			"lip          - amount of button left sticking out after"},
	{"rem",			"               being pushed (default 4)"},
	{"rem",			"health       - when > 0 the button must be killed"},
	{"rem",			"               in order to fire"},
	{"rem",			"cinescript   - name of the cinematic script to run"},
	{"rem",			"aiscript     - name of the AI script to run"},

	{"rem",			"PUSH_TOUCH will allow the button to be pushed by running into it, Quake style"},
	{"rem",			"STRUGGLE - plays struggle sound if object is not useable (locked, etc)"},

	//////////////////////////////
	// func_multi_button
	//////////////////////////////
	{"classname",	"func_multi_button"},
	{"color",		"0 0.5 0.8"},
	{"health",		"0"},
	{"targetname",	""},
	{"target",		""},
	{"killtarget",	""},
	{"speed",		""},
	{"wait",		""},
	{"angle",		""},
	{"lip",			""},
	{"flag",		"PUSH_TOUCH"},
	{"flag",		"CYCLE"},

	{"sndkeys",		"sound_use,sound_return"},

	{"rem",			"targetname   - the name of this wall if it is a target"},
	{"rem",			"target       - the next entity to trigger when"},
	{"rem",			"               this one is triggered"},
	{"rem",			"killtarget   - the targetname of the entity"},
	{"rem",			"               to remove when triggered"},
	{"rem",			"sound_use    - the sound to play when the button"},
	{"rem",			"               is used (defaults to none)"},
	{"rem",			"sound_return - the sound to play when the button"},
	{"rem",			"               returns (defaults to none)"},
	{"rem",			"speed        - rate of travel when button moves"},
	{"rem",			"wait         - seconds to wait befor returning to useable"},
	{"rem",			"               (-1 = never return)"},
	{"rem",			"angle        - direction of travel"},
	{"rem",			"health       - when > 0 the button must be killed"},
	{"rem",			"               in order to fire"},
	{"rem",			"distance     - distance button travels on each push"},
	{"rem",			"count        - number of positions this button has"},
	{"rem",			""},
	{"rem",			"PUSH_TOUCH will allow the button to be pushed"},
	{"rem",			"by running into it, Quake style"},
	{"rem",			"CYCLE - button will not return to top from last"},
	{"rem",			"position, but will go back through all positions"},

	//////////////////////////////
	// func_nodetrain
	//////////////////////////////

	{"classname",   "func_nodetrain"},
	{"distance",	"90.0"},
	{"color",       "0.7 0.1 0.1"},
	{"rem",			"targetname - the name of this train"},
	{"rem",			"target     - the track node_node that the "},
	{"rem",			"target     - train will spawn at"},

	//////////////////////////////
	// func_train
	//////////////////////////////
	{"classname",   "func_train"},
	{"distance",	"90.0"},
	{"color",       "0 0.5 0.8"},
	{"flag",		""},
	{"flag",		""},
	{"flag",		""},
	{"flag",		""},
	{"flag",		""},
	{"flag",		""},
	{"flag",		"FORCEMOVE"},
	{"flag",		"START_ON"},

	{"sndkeys",		"sound"},

	{"rem",			"targetname - the name of this train"},
	{"rem",			"target     - the path_corner that the"},
	{"rem",			"	          train will spawn at"},
	{"rem",			"killtarget - the targetname of the entity"},
	{"rem",			"             to remove when triggered"},
//	{"rem",			"MULTI_PATH - trains will follow complex path_corner_train paths"},
	{"rem",			""},
	{"rem",			"func_trains should have an origin brush."},
	{"rem",			"They will spawn with the origin located at"},
	{"rem",			"the center of the first path_cornter_train."},
	{"rem",			""},
	
	//////////////////////////////
	// path_corner_train
	//////////////////////////////
	{"classname",   "path_corner_train"},
	{"distance",	"90.0"},
	{"color",       "0.5 0.3 0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"X_AXIS"},
	{"flag",		"Y_AXIS"},
	{"flag",		"Z_AXIS"},
	{"flag",		"TRIGWAIT"},
	{"flag",		""},
	{"flag",		"TELEPORT"},
	{"flag",		""},
	{"flag",		""},
//	{"flag",		"LOOPSOUND"},

	{"sndkeys",		"sound_start, sound_stop, sound"},

	{"rem",			"killtarget - the targetname of the entity to remove when this"},
	{"rem",			"             path_corner is reached"},
	{"rem",			"speed      - rate of travel from this path_corner to the next"},
	{"rem",			"wait       - seconds to wait after the actions on this path_corner"},
	{"rem",			"             are complete"},
	{"rem",			"sound      - sound to play at this path corner"},
	{"rem",			"x_distance - distance in degrees to rotate around x axis"},
	{"rem",			"y_distance - distance in degrees to rotate around y axis"},
	{"rem",			"z_distance - distance in degrees to rotate around z axis"},
	{"rem",			"x_speed    - speed to rotate along x axis in degrees per second"},
	{"rem",			"y_speed    - speed to rotate along y axis in degrees per second"},
	{"rem",			"z_speed    - speed to rotate along z axis in degrees per second"},
	{"rem",			"health     - if health is set, the train will wait at this path corner"},
	{"rem",			"             until it is killed."},
	{"rem",			"pathtarget - target to trigger when this path_corner is"},
	{"rem",			"             reached"},
	{"rem",			""},
	{"rem",			"Spawnflags:"},
	{"rem",			"X_AXIS     - when checked train will rotate continually"},
	{"rem",			"             around x axis at x_speed degrees per second"},
	{"rem",			"Y_AXIS     - when checked train will rotate continually around "},
	{"rem",			"             around y axis at y_speed degrees per second"},
	{"rem",			"Z_AXIS     - when checked train will rotate continually around "},
	{"rem",			"             around z axis at z_speed degrees per second"},
	{"rem",			"cinescript - name of the cinematic script to run"},
	{"rem",			"aiscript   - name of the AI script to run"},
	{"rem",			"TRIGWAIT   - wait here until triggered"},
	{"rem",			"TELEPORT   - teleport the func_train to the next target"},
	{"rem",			"LOOPSOUND  - specifies that the sound specified in 'sound"},
	{"rem",			"			  should loop."},

	//////////////////////////////
	//	info_player_start
	//////////////////////////////
	{"classname",    "info_player_start"},
	{"modelname",	 "models/global/m_hiro"},
	{"color",        "1 0 0"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location player starts in single play."},

	//////////////////////////////
	//	info_player_intermission
	//////////////////////////////
	{"classname",    "info_player_intermission"},
	{"color",        "1 0 0"},
	{"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "Intermission camera point."},

	//////////////////////////////
	// info_mikiko_start
	//////////////////////////////
	{"classname",    "info_mikiko_start"},
	{"color",        "1 0 0"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location Mikiko starts in single play."},

	//////////////////////////////
	// info_superfly_start
	//////////////////////////////
	{"classname",    "info_superfly_start"},
	{"color",        "1 0 0"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"flag",		"IDLE"},
	{"rem",          "Location Superfly starts in single play."},
	{"rem",			"By default, Superfly will look for the first"},
	{"rem",			"client that connects and start following them"},
	{"rem",			"IDLE - puts Superfly in idle (standing) mode"},
	{"rem",			"       he will not follow until triggered to do so"},

	//////////////////////////////
	// info_null
	//////////////////////////////
	{"classname",    "info_null"},
	{"color",        "1 0 0"},
	{"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "use only for lights.  info_nulls are removed"},
	{"rem",          "after all other entities spawn."},

	//////////////////////////////
	// info_not_null
	//////////////////////////////
	{"classname",    "info_not_null"},
	{"color",        "1 0 0"},
	{"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "You can point anything to this as a target"},
	{"rem",          "These are not removed when the level spawns."},

	//////////////////////////////
	// info_player_deathmatch
	//////////////////////////////
	{"classname",    "info_player_deathmatch"},
	{"color",        "1 0 1"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location player starts in deathmatch"},

	//////////////////////////////
	// info_player_coop
	//////////////////////////////
	{"classname",    "info_player_coop"},
	{"color",        "1 0 1"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location player starts in coop"},

	//////////////////////////////
	// func_door_secret
	//////////////////////////////
	{"classname",    "func_door_secret"},
	{"color",        "0 0.5 0.8"},
	{"health",		 "0"},
	{"speed",		 "100"},
	{"wait",		 "3"},
	{"lip",			 "8"},
	{"dmg",			 "2"},
	{"angle",		 "0 0 0"},
	{"message",		 "we all suck"},
	{"targetname",	 ""},
	{"flag",         "OPEN_ONCE"},
	{"flag",         "1ST_LEFT"},
	{"flag",         "1ST_DOWN"},
	{"flag",         "NO_SHOOT"},
	{"flag",		 "YES_SHOOT"},

	{"sndkeys",		 "sound_opening,sound_open_finish,sound_closing,sound_close_finish"},

	{"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"},
	{"rem", "angle - determines the opening direction"},
	{"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."},
	{"rem", "health - if set, door must be shot open"},
	{"rem",	"speed - movement speed (100 default)"},
	{"rem", "wait - time to wait before returning (3 default, -1 = never return)"},
	{"rem",	"dmg - damage to inflict when blocked (2 default)"},
	{"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"},
	{"rem",	"sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"},
	{"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"},
	{"rem",	"sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"},
	{"rem", "  "},
	{"rem", "Spawnflags:"},
    {"rem", "SECRET_OPEN_ONCE - door stays open (imagine that...)"},
    {"rem", "SECRET_1ST_LEFT - first move is left of move direction"},
    {"rem", "SECRET_1ST_DOWN - first move is down from move direction"},
    {"rem", "SECRET_NO_SHOOT - only opened by a trigger"},
    {"rem", "SECRET_YES_SHOOT - shootable even if targeted"},

	//////////////////////////////
	// func_wall_explode
	//////////////////////////////
	{"classname",	"func_wall_explode"},
	{"color",		"0 0.5 0.8"},
	{"health",		"0"},
	{"message",		""},
	{"targetname",	""},
	{"target",		""},
	{"killtarget",	""},
	{"model_1",		""},
	{"model_2",		""},
	{"model_3",		""},
	{"group",		""},
	{"triggerindex",""},
	{"flag",        "ROCK_CHUNKS"},
	{"flag",        "WOOD_CHUNKS"},
	{"flag",        "EXTRA_CHUNKS"},
	{"flag",        "EXTRA_VELOCITY"},
	{"flag",		"NO_CHUNKS"},
	{"flag",		"NO_SOUND"},
	{"flag",		"METAL_CHUNKS"},
	{"flag",		"NO_EXPLOSIONS"},

	{"rem",			"targetname - the name of this wall if it is a target"},
	{"rem",			"target - the next entity to trigger when this one is triggered"},
	{"rem",			"killtarget - the targetname of the entity to remove when triggered"},
	{"rem",			"health - ummm... this would be the health of the wall, if it is 0 then"},
	{"rem",			"the wall can only be exploded by targetting it"},
	{"rem",			"message - this prints out when wall go boom"},
	{"rem",			"model_1 - the specific pathname of the first model to throw when killed"},
	{"rem",			"if model_1 is set then spawnflags ROCK_CHUNKS and WOOD_CHUNKS are overridden"},
	{"rem",			"model_2 - the pathname of the second model"},
	{"rem",			"model_3 - I wouldn't bet on it, but this is probably the name of the 3rd model"},
	{"rem",			"group - you can add a name here and group func_wall_explodes.. use triggerindex"},
	{"rem",			"  to specify priority of which one blows up first "},
	{"rem",			"triggerindex - the lower the index, the higher it's priority (i.e. it blows up 1st"},
	{"rem",			"  func_wall_explodes with the same triggerindex blow up randomly"},
	{"rem",			"mindamage - minimum damage it takes to destroy this wall.  Any damage less"},
	{"rem",			"  than mindamage will be healed instantly so wall cannot be warn down."},
	{"rem", "Spawnflags:"},
    {"rem", "ROCK_CHUNKS - makes rock chunk wall-gibs fly"},
	{"rem",	"WOOD_CHUNKS - makes wood chunk wall-gibs fly"},
	{"rem",	"EXTRA_CHUNKS - makes up to 3 chunks per explosion, instead of just one"},
	{"rem",	"EXTRA_VELOCITY - gives chunks a higher velocity (good for underwater)"},
	{"rem", "NO_CHUNKS - um, no chunks"},
	{"rem", "NO_SOUND - no sound, use when lots of func walls are activated simultaneously to keep the"},
	{"rem", "Quake engine from choking with too many sounds at once."},

	//////////////////////////////
	// func_anim
	//////////////////////////////
	{"classname",	"func_anim"},
	{"color",		"0.0 1.0 0.1"},
	{"flag",        "VISIBLE"},
	{"rem", "Spawnflags:"},
    {"rem", "VISIBLE - start visible"},

	//////////////////////////////
	// func_floater
	//////////////////////////////
	{"classname",	"func_floater"},
	{"color",		"0 0.5 0.8"},
	{"size",		"-16 -16 -16 16 16 16"},
	{"model",		""},

	{"rem",			"model - pathname to model (ie. models/floater.mdl)"},
	{"rem",			"velocity_cap - maximum up/down velocity"},
	{"rem",			"dissipate - how fast velocity degrades to velocity_cap (default = 0.99)"},
	{"rem",			"object_mass - mass of object (mass / volume = density)"},
	{"rem",			"object_volume - volume of object (mass / volume = density)"},

	//////////////////////////////
	// func_debris
	//////////////////////////////

	{"classname",	"func_debris"},
	{"color",		"0 0.5 0.8"},
	{"target",		""},
	{"flag",		"GO_TO_ACTIVATOR"},
	{"flag",		"NO_ROTATE"},
	{"flag",		"MOMENTUM_DAMAGE"},
	{"flag",		"NO_ROTATION_ADJUST"},
	{"flag",		"DROP_ONLY"},
	{"flag",		"QUARTER_SIZE"},

	{"sndkeys",		"fly_sound,hit_sound"},

	{"rem",			"target - debris will fly towards targeted entity"},
	{"rem",			"fly_sound - sound to play while the entity flies through the air"},
	{"rem",			"hit_sound - sound to play when the entity hits something"},
	{"rem",			"volume - 0.0 to 1.0"},
	{"rem",			"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",			"max - 0 to 8160 - maximum distance (volume none)"},
	{"rem",			"damage - amount of damage to do when hitting another object"},
	{"rem",			"if MOMENTUM_DAMAGE is selected, then damage will be based on the"},
	{"rem",			"speed of the debris when it impacts the object and damage becomes"},
	{"rem",			"the divisor, so if speed at impact = 300 and damge = 3, then damage done"},
	{"rem",			"while 300 / 3 = 100 points.  If damage is not set, then momentum damage"},
	{"rem",			"will be the default with a damage divisor of 3."},
	{"rem",			"Spawnflags:"},
	{"rem",			"GO_TO_ACTIVATOR - debris will fly at whoever activated it"},
	{"rem",			"NO_ROTATE - don't give this debris any random rotation"},
	{"rem",			"MOMENTUM_DAMAGE - damage based on velocity"},
	{"rem",			"DROP_ONLY - no upward velocity, debris just falls"},
	{"rem",			"QUARTER_SIZE - shrink bounding box by 1/4"},
	{"rem",			"Notes:"},
	{"rem",			"A func debris entity must have an origin brush contained in it,"},
	{"rem",			"otherwise it will rotate around the center of the level, not"},
	{"rem",			"its own center.  That is bad."},

	//////////////////////////////
	// func_debris_visible
	//////////////////////////////

	{"classname",	"func_debris_visible"},
	{"color",		"0 0.5 0.8"},
	{"target",		""},
	{"flag",		"GO_TO_ACTIVATOR"},
	{"flag",		"NO_ROTATE"},
	{"flag",		"MOMENTUM_DAMAGE"},
	{"flag",		"NO_ROTATION_ADJUST"},
	{"flag",		"DROP_ONLY"},
	{"flag",		"QUARTER_SIZE"},

	{"sndkeys",		"fly_sound,hit_sound"},

	{"rem",			"SAME AS FUNC_DEBRIS EXCEPT DEBRIS IS VISIBLE BEFORE TARGETTING"},
	{"rem",			"target - debris will fly towards targeted entity"},
	{"rem",			"fly_sound - sound to play while the entity flies through the air"},
	{"rem",			"hit_sound - sound to play when the entity hits something"},
	{"rem",			"volume - 0.0 to 1.0"},
	{"rem",			"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",			"max - 0 to 8160 - maximum distance (volume none)"},
	{"rem",			"damage - amount of damage to do when hitting another object"},
	{"rem",			"if MOMENTUM_DAMAGE is selected, then damage will be based on the"},
	{"rem",			"speed of the debris when it impacts the object and damage becomes"},
	{"rem",			"the divisor, so if speed at impact = 300 and damge = 3, then damage done"},
	{"rem",			"while 300 / 3 = 100 points.  If damage is not set, then momentum damage"},
	{"rem",			"will be the default with a damage divisor of 3."},
	{"rem",			"Spawnflags:"},
	{"rem",			"GO_TO_ACTIVATOR - debris will fly at whoever activated it"},
	{"rem",			"NO_ROTATE - don't give this debris any random rotation"},
	{"rem",			"MOMENTUM_DAMAGE - damage based on velocity"},
	{"rem",			"DROP_ONLY - no upward velocity, debris just falls"},
	{"rem",			"QUARTER_SIZE - shrink bounding box by 1/4"},
	{"rem",			"Notes:"},
	{"rem",			"A func debris entity must have an origin brush contained in it,"},
	{"rem",			"otherwise it will rotate around the center of the level, not"},
	{"rem",			"its own center.  That is bad."},

	//////////////////////////////
	// func_particlefield
	//////////////////////////////
	{"classname",	"func_particlefield"},
	{"color",		"0 0.5 0.8"},
	{"flag",		"USE_COUNT"},
	{"rem",			"count - number of times to trigger before activated"},
	{"rem",			"color - color of particles use:"},
	{"rem",			"black, blue, green, cyan, red, "},
	{"rem",			"purple, brown, ltgray, dkgray, "},
	{"rem",			"ltblue, ltgreen, ltcyan, ltpurple,"},
	{"rem",			"yellow, white"},

	//////////////////////////////
	// func_monitor
	//////////////////////////////
	{"classname",	"func_monitor"},
	{"color",		"0 0.5 0.8"},
	{"rem",			"target - the info_camera that the view will be from"},
	{"rem",			"fov	- the field of view when looking through this camera"},
	{"rem",			"delay	- Amount of time to delay before showing the monitor display."},
	{"rem",			"wait	- Amount of time to wait before allowing the user to esc from display."},

	//////////////////////////////
	// func_dynalight
	//////////////////////////////
	{"classname",	"func_dynalight"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"START_ON"},
	{"flag",		"SPOTLIGHT"},
	{"flag",		"LIGHTFLARE"},
	{"flag",		"X_AXIS"},
	{"flag",		"Y_AXIS"},
	{"flag",		"Z_AXIS"},
	{"flag",		"REVERSE"},

	{"_color",		"1.0  1.0  1.0"},
	{"rem",			"length - length of the light beam.. default is 2048"},
	{"rem",			"light - light brightness value"},
	{"rem",			"radius - radius of starting point, end radius is based on length"},
	{"rem",			"default SPOTLIGHT color is white.. click color checkboxes to change colors"},
	{"rem",			"_color - use the color selection dialog to select the color of the light"},
	{"rem",			"NOTE: this is not applicable to spotlights.. use the check boxes for them"},
	{"rem",			"NOTE: SPOTLIGHT and LIGHTFLARE are mutually exclusive"},
	{"rem",			"Check X_AXIS or Y_AXIS	or Z_AXIS to get the SPOTLIGHT to rotate"},
	{"rem",			"Check REVERSE to reverse the rotation"},


	//////////////////////////////
	// func_explosive  
	// Modified By : <nss>
	//////////////////////////////
	{"classname",	"func_explosive"},
	{"color",		"0.0 0.5 0.8"},
	{"flag",		"TRIGGER_SPAWN"},
	{"flag",		"ANIMATED"},
	{"flag",		"ANIMATED_FAST"},
	{"flag",		"STONE"},
	{"flag",		"WOOD"},
	{"flag",		"METAL"},
	{"flag",		"NO CHUNKS"},
	{"flag",		"NO SOUND"},
	{"flag",		"NO EXPLOSION"},
	{"flag",		"NOT SOLID"},
	{"rem",			"-------------------------------------------------"},
	{"rem",			"Func_Explosive 2.0"},
	{"rem",			"-------------------------------------------------"},
	{"rem",			"Description: Any brush that you want to explode or break apart."},
	{"rem",			"If you want an explosion.  If targeted it will not be shootable."},
	{"rem",			"The default debris type is glass."},
	{"rem",			"-------------------------------------------------"},
	{"rem",			"Key Values"},
	{"rem",			"-------------------------------------------------"},
	{"rem",			"damage - radius explosion of that amount, at center of brush"},
	{"rem",			"health - defaults to 100."},
	{"rem",			"delay	- defaults to 1.0 to randomize the emission of debris chunks. The higher the number the longer it will take some chunks to chunk out."},
	{"rem",			"count   - defaults to 10.  This determines how many chunks are emitted. 10 = maximum of 10 chunks but is random so could be 5-10, no less than 5."},
	{"rem",			"rndcount  - defaults to 0. Random number of debris entities plus the count."},
	{"rem",			"scale  - This is the scale factor of the chunks. 1.0 is current Size."},
	{"rem",			"vectortarget - Sets the vector for the initial direction.  It will be random in a 180 degree spread."},
	{"rem",			"speed  - is a scaled value. 1.0 is normal speed."},
	{"rem",			"gravity    - Gravity to apply to debris. Default is 1.0.(normal)"},
	{"rem",			"cinescript - name of the cinematic script to run"},
	{"rem",			"aiscript   - name of the AI script to run"},
	{"rem",			"target - Determines what gets triggered next."},
	{"rem",	"volume - 0.0 to 1.0"},
	{"rem",	"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",	"max - 0 to 8160 - maximum distance (volume none)"},
	


	//////////////////////////////
	// func_timer
	//////////////////////////////

	{"classname",	"func_timer"},
	{"color",		"0.3 0.1 0.6"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"target",		""},
	{"wait",		"1"},
	{"random",		"0"},
	{"delay",		"0"},
	{"pausetime",	"0"},
	{"flag",		"START_ON"},
	{"flag",		"USE_ONCE"},
	{"rem",			"target		- the timer will trigger this target"},
	{"rem",			"wait		- base time between triggering all targets, default is 1"},
	{"rem",			"random		- wait variance, default is 0"},
	{"rem",			"so, the basic time between firing is a random time between"},
	{"rem",			"(wait - random) and (wait + random)"},
	{"rem",			"delay		- delay before first firing when turned on, default is 0"},
	{"rem",			"pausetime	- additional delay used only the very first time"},
	{"rem",			"			  and only if spawned with START_ON"},

	//////////////////////////////
	// func_talking_head
	//////////////////////////////
	{"classname",	"func_talking_head"},
	{"color",		"0.0 1.0 0.0"},
	{"size",        "-16 -16 -16 16 16 16"},
	{"angle",		"0 0 0"},

	{"flag",		"START ON"},
	{"flag",		"TRACK CLIENT"},
	{"flag",		"HOLOGRAPH"},
	{"flag",		"USE TOGGLE"},

	{"rem",			"Flags:"},
	{"rem",			"  START ON     - the head will display immediately"},
	{"rem",			"  TRACK CLIENT - when checked the head will turn torwards the player"},
	{"rem",			"  HOLOGRAPH    - the head will appear as a translucent holograph"},
	{"rem",			"  USE TOGGLE   - the entity is usable.. otherwise it's default action"},
	{"rem",			"                 action is turned on and off"},


	//////////////////////////////
	// func_fog
	//////////////////////////////
	{"classname",	"func_fog"},
	{"color",		"0.0 0.5 0.8"},
	{"rem",			"Volumetric fog."},
	{"rem",			"color     - rgb color (ranges 0 - 255 )"},
	{"rem",			"_color    - rgb color (ranges 0 - 1 )"},
	{"rem",			"distance  - distance it takes to fade from not fogged to fully fogged."},

	//////////////////////////////
	// func_water
	//////////////////////////////
	{"classname",	"func_water"},
	{"color",		"0.0 0.5 0.8"},
	{"flag",		"START_OPEN"},
	{"angle",		"0 0 0"},
	{"speed",		"25"},
	{"wait",		"-1"},
	{"lip",			"0"},
	{"sounds",		"0"},

	{"sndkeys",		 "sound_opening,sound_open_finish,sound_closing,sound_close_finish"},

	{"rem",			"func_water is a moveable water brush.  It must be targeted to"},
	{"rem",			"operate.  Use a non-water texture at your own risk."},
	{"rem",			"START_OPEN causes the water to move to its destination"},
	{"rem",			"when spawned and operate in reverse."},
	{"rem",			"angle - determines the opening direction (up or down only)"},
	{"rem",			"speed - movement speed (25 default)"},
	{"rem",			"wait -	wait before returning (-1 default, -1 = TOGGLE)"},
	{"rem",			"lip - lip remaining at end of move (0 default)"},
	{"rem",			"sound_opening - name of the sound to play when rising"},
	{"rem",			"sound_open_finish - name of the sound to play when at the top"},
	{"rem",			"sound_closing - name of the sound to play when receeding"},
	{"rem",			"sound_close_finish - name of the sound to play when empty"},

	//////////////////////////////
	// info_camera
	//////////////////////////////
	{"classname",    "info_camera"},
	{"color",        "1 0 0"},
	{"size",         "-8 -8 -8 8 8 8"},

	//////////////////////////////
	// misc_lavaball_drop
	//////////////////////////////
	{"classname",	"misc_lavaball_drop"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"1.0 0.5 0.0"},

	//////////////////////////////
	// misc_lavaball_toss
	//////////////////////////////
	{"classname",	"misc_lavaball_toss"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"1.0 0.5 0.0"},

	{"rem",			"target = can be triggered"},
	{"rem",			"mintime = minimum time between tosses (default = 4.0 seconds)"},
	{"rem",			"maxtime = maximum time between tosses (default = 12.0 seconds)"},
	{"rem",			"damage = damage to do when an hitting something"},
	{"rem",			"upmin = minimum upward velocity (default = 200)"},
	{"rem",			"upmax = maximum upward velocity (default = 800)"},

	//////////////////////////////
	// sound_ambient
	//////////////////////////////
	
	{"classname",	"sound_ambient"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"color",		"1 0 1"},
	//{"flag",		"START_OFF"},
	{"flag",		""},
	{"flag",		""},
	{"flag",		""},
	{"flag",		"NON_DIRECTIONAL"},

	{"rem",			"sound - path to ambient sound (ie. ambience/sound.wav."},
	//{"rem",			"Can be triggered to toggle on and off."},
	//{"rem",			"START_OFF will start with no sound."},
	{"rem",			"NON_DIRECTIONAL - doesn't play positionally, but still attenuates"},

	//////////////////////////////
	// sound_ambient
	//////////////////////////////
	
	{"classname",	"trigger_fog_value"},
	{"color",		"0 1 0"},
	{"flag",		"TOUCHABLE"},

	{"rem",			"on    - fog on or off (1 = on / 0 = off"},
	{"rem",			"inc   - fade in"},
	{"rem",			"dec   - fade out"},
	{"rem",			"_color - rgb color of fog"},
	{"rem",			"r     - red componant of fog"},
	{"rem",			"g     - green componant of fog"},
	{"rem",			"b     - blue componant of fog"},
	{"rem",			"start - front of fog volume"},
	{"rem",			"end   - back of fog volume"},

	//////////////////////////////
	// node_node
	//////////////////////////////
	
	{"classname",	"node_node"},
	{"color",		"0.5 0.5 1"},
	{"size",		"-8 -8 -8 8 8 8"},

	{"rem",			"number - the number of this node"},
	{"rem",			"link - the number of the node linked to (can be up to four link fields)"},

	//////////////////////////////
	// trigger_changemusic
	//////////////////////////////
	{"classname",	"trigger_changemusic"},
	{"color",		"0.5 0.5 0.5"},
	{"path",		""},
	{"volume",		""},

	{"rem",			"path - path to mp3 to play relative to data/music. ( incluse the extension ) "},
	{"rem",			"volume - the volume to play the mp3 at ( 0 - 1 )."},

	//////////////////////////////
	// trigger_superfly_spawn
	//////////////////////////////
	{"classname",	"trigger_superfly_spawn"},
	{"color",		"0.5 0.5 0.5"},

	//////////////////////////////
	// trigger_mikiko_spawn
	//////////////////////////////
	{"classname",	"trigger_mikiko_spawn"},
	{"color",		"0.5 0.5 0.5"},


	//////////////////////////////////////////////////////////////////////////////////////////////////////
	//
	// Monsters
	// 
	//////////////////////////////////////////////////////////////////////////////////////////////////////

	////////////////////////////////////////
	// Episode 1 monsters
	////////////////////////////////////////

    {"classname",    "monster_froginator"},
	{"modelname",	 "models/e1/m_frog"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

	{"classname",	"monster_rockgat"},
	{"episode",		 "1"},
	{"color",		"1.0 0.0 0.0"},
	{"size",		"-12 -12 -12 12 12 12"},
	{"rem",			"height/frames - number of frames in the popup animation"},
	{"rem",			"fire_rate - secs between firing default = 0.20"},
	{"rem",			"range - attack radius default = 512"},
	{"rem",			"basedmg - dmg done with a hit"},
	{"rem",			"rnddmg - random damage amount added on"},
	{"rem",			"health - health value"},


    {"classname",    "monster_slaughterskeet"},
	{"modelname",	 "models/e1/m_skeeter"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_thunderskeet"},
	{"modelname",	 "models/e1/m_tskeet"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_venomvermin"},
	{"modelname",	 "models/e1/m_vermin"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_sludgeminion"},
	{"modelname",	 "models/e1/m_sludgeminion"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_prisoner"},
	{"modelname",	 "models/e1/m_priza"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "func_prisoner_respawn"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",			 "time - seconds until a new prisoner is spawned"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_inmater"},
	{"modelname",	 "models/e1/m_inmater"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 64"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_trackattack"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Track turrets need to have a target"},
	{"rem",          "which is the track node at which"},
	{"rem",          "they will start.  These entities use track nodes!  Put them in!"},
	{"rem",          "Spawn about 16 units below the track to"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_lasergat"},
	{"modelname",	 "models/e1/m_lasergat"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Track turrets need to have a target"},
	{"rem",          "which is the path_corner_track at which"},
	{"rem",          "they will start."},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_psyclaw"},
	{"modelname",	 "models/e1/m_psyclaw"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_cryotech"},
	{"modelname",	 "models/e1/m_cryotech"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_battleboar"},
	{"modelname",	 "models/e1/m_bboar"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_ragemaster"},
	{"modelname",	 "models/e1/m_ragemaster"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_cambot"},
	{"modelname",	 "models/e1/m_cambot"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_deathsphere"},
	{"modelname",	 "models/e1/m_dsphere"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_protopod"},
	{"modelname",	 "models/e1/m_proto"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_skinnyworker"},
	{"modelname",	 "models/e1/m_MWSkinny"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_fatworker"},
	{"modelname",	 "models/e1/m_MWFaty"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_mishimaguard"},
	{"modelname",	 "models/e1/m_mwguard"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_surgeon"},
	{"modelname",	 "models/e1/m_mwsurgeon"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_crox"},
	{"modelname",	 "models/e1/m_croco"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},


	////////////////////////////////////////
	// Episode 2 monsters
	////////////////////////////////////////

    {"classname",    "monster_skeleton"},
	{"modelname",	 "models/e2/m_skeleton"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_spider"},
	{"modelname",	 "models/e2/m_spider"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 24"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_smallspider"},
	{"modelname",	 "models/e2/m_spider"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_griffon"},
	{"modelname",	 "models/e2/m_griffon"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_harpy"},
	{"modelname",	 "models/e2/m_harpy"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_minotaur"},
	{"modelname",	 "models/e2/m_minotaur"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_ferryman"},
	{"modelname",	 "models/e2/m_ferryman"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_satyr"},
	{"modelname",	 "models/e2/m_satyr"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 64"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_column"},
	{"modelname",	 "models/e2/m_column"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 64"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_cyclops"},
	{"modelname",	 "models/e2/m_cyclops"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_cerberus"},
	{"modelname",	 "models/e2/m_cerberus"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-18 -18 -24 18 18 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_thief"},
	{"modelname",	 "models/e2/m_thief"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_centurion"},
	{"modelname",	 "models/e2/m_centurion"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_kingminos"},
	{"modelname",	 "models/e2/m_kminos"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_medusa"},
	{"modelname",	 "models/e2/m_medusa"},
	{"episode",		 "2"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-32 -32 -24 32 32 56"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

	////////////////////////////////////////
	// Episode 3 monsters
	////////////////////////////////////////

    {"classname",    "monster_plague_rat"},
	{"modelname",	 "models/e3/m_prat"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "I broke you!"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_rotworm"},
	{"modelname",	 "models/e3/m_rotworm"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
    {"flag",         "CEILING SPAWN"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_buboid"},
	{"modelname",	 "models/e3/m_buboid"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_priest"},
	{"modelname",	 "models/e3/m_priest"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_doombat"},
	{"modelname",	 "models/e3/m_doombat"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_lycanthir"},
	{"modelname",	 "models/e3/m_lycanthir"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_fletcher"},
	{"modelname",	 "models/e3/m_fletcher"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_dwarf"},
	{"modelname",	 "models/e3/m_dwarf"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_dragon"},
	{"modelname",	 "models/e3/m_dragon"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_dragonegg"},
	{"modelname",	 "models/e3/"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_babydragon"},
	{"modelname",	 "models/e3/"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_garroth"},
	{"modelname",	 "models/e3/"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_knight1"},
	{"modelname",	 "models/e3/m_knight1"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_knight2"},
	{"modelname",	 "models/e3/m_knight2"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_nharre"},
	{"modelname",	 "models/e3/"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_stavros"},
	{"modelname",	 "models/e3/m_stavros"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_wyndrax"},
	{"modelname",	 "models/e3/m_wyndrax"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Wyndrax:V1.12"},
	{"rem",          "Wyndrax needs two things in order to work properly."},
	{"rem",          "For his lightning attack he needs to have the top lightning source set to a targetname of:WyndraxCharge."},
	{"rem",          "For his Wisp attack he needs to have wisps out in his Wisp courtyard."},
	{"rem",          "Don't forget the door ground nodes for the entrance and the secret entrance!!!"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

	////////////////////////////////////////
	// Episode 4 monsters
	////////////////////////////////////////
    {"classname",    "monster_piperat"},
	{"modelname",	 "models/e4/m_piperat"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "I broke you!"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_gang1"},
	{"modelname",	 "models/e4/"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_gang2"},
	{"modelname",	 "models/e4/"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_blackprisoner"},
	{"modelname",	 "models/e4/m_bpris"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_whiteprisoner"},
	{"modelname",	 "models/e4/m_wpris"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_femgang"},
	{"modelname",	 "models/e4/m_femgang"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_rocketdude"},
	{"modelname",	 "models/e4/m_rockgang"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_chaingang"},
	{"modelname",	 "models/e4/m_chgang"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_labmonkey"},
	{"modelname",	 "models/e4/m_labmonkey"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

/*    {"classname",    "monkey_message"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "Target this from the monkey switch to display current monkey state."},
*/
    {"classname",    "monster_sealcommando"},
	{"modelname",	 "models/e4/m_scomndo"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_sealcaptain"},
	{"modelname",	 "models/e4/m_sealcap"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_sealgirl"},
	{"modelname",	 "models/e4/m_sgirl"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_shark"},
	{"modelname",	 "models/e4/m_shark"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_uzigang"},
	{"modelname",	 "models/e4/m_uzi"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_rocketmp"},
	{"modelname",	 "models/e4/m_rocketmp"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_kage"},
	{"modelname",	 "models/e4/m_kage"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},

    {"classname",    "monster_sdiver"},
	{"modelname",	 "models/e4/m_sdiver"},
	{"episode",		 "4"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-16 -16 -24 16 16 32"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
// SCG[11/8/99]: 	{"flag",		 "DEATHTARGET"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},
	{"rem",			 "sight - Range that the monster can see the player and will react."},
	{"rem",			 "speak - Range that the monster can speak to other monsters so they can help out."},
	//////////////////////////////////////////////////////////////////
	// special case Monsters
	//////////////////////////////////////////////////////////////////
    {"classname",    "monster_firefly"},
	{"modelname",	 "models/e1/d1_firefly.sp2"},
	{"episode",		 "1"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-5 -5 -5 5 5 5"},
	{"flag",		 "YELLOW"},
	{"flag",		 "GREEN"},
	{"flag",		 "BLUE"},
	{"flag",		 "WHITE"},
	{"flag",		 "RED"},
	{"rem",			 "------------------------------------"},
	{"rem",			 "Complex Fly Generator"},
	{"rem",			 "------------------------------------"},
	{"rem",			 "*all paramters have a default value*"},
	{"rem",			 "count       - Number of fireflies(Max=10)"},
	{"rem",			 "distance    - How far the fireflies will fly from point of placement(Max=200)"},
	{"rem",			 "velocity    - How fast the fireflies will move(Max=200)"},
	{"rem",			 "scale       - How big the fireflies will be<float value>(1 = normal, 0.5 = half, 2 = twice as big)"},
	{"rem",			 "delta_alpha - frequency of Alpha blending change. <scalar>"},
	{"rem",			 "alpha_level - Initial Setting for Alpha blending change.<scalar>"},
	

	
	{"classname",    "monster_wisp"},
	{"modelname",	 "models/e3/we_wisp.sp2"},
	{"episode",		 "3"},
	{"color",        "1.0 0.0 0.0"},
    {"size",         "-2 -2 -2 2 2 2"},
	{"rem",			 "-----------------------------------------------"},
	{"rem",			 "Wisps to B sucked down by Wyndrax"},
	{"rem",			 "-----------------------------------------------"},
	{"rem",			 "*all paramters have a default value*"},
	{"rem",			 "count       - Number of wisps(Max=10)"},
	{"rem",			 "distance    - How far the wisps will fly from point of placement(Max=200)"},
	{"rem",			 "velocity    - How fast the wisps will move(Max=200)"},
	{"rem",			 "scale       - How big the wisps will be(1 = normal, 0.5 = half, 2 = twice as big)"},
	{"rem",			 "delta_alpha - frequency of Alpha blending change(0-100%) where 0% means no change"},
	{"rem",			 "alpha_level - Initial Setting for Alpha blending change(1-100%)"},
	
	
	
	//////////////////////////////////////////////////////////////////
	// monster AI markers
	//////////////////////////////////////////////////////////////////

	{"classname",	"monster_path_corner"},
	{"distance",	"90.0"},
	{"color",		"0.5 0.3 0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"rem",			"A path corner for a monster to travel along"},
	{"rem",			"target1 - target4: "},
	{"rem",			"Can have up to 4 targets for the monster"},
	{"rem",			"to travel to.  If there is more than one target"},
	{"rem",			"the monster will randomly choose the next target"},
	{"rem",			"from those available."},
	{"rem",			"aiscript - name of the script to play when a monster hits this pathcorner node."},
	{"rem",			"targetname - Name of this pathcorner so other entities can do things with it."},

	//////////////////////////////////////////////////////////////////
	// decorations
	//////////////////////////////////////////////////////////////////

    {"classname",	"deco_e1"},
	{"episode",		 "1"},
	{"color",		"1.0 0.0 0.0"},
    {"size",		"-8 -8 -32 8 8 32"},
	{"flag",		"DECO_EXPLODE"},
	{"flag",		"NO_EXPLODE_NO_BREAK"},
	{"flag",		"DECO_PUSHABLE"},
	{"flag",		"WOOD_DEBRIS"},
	{"flag",		"METAL_DEBRIS"},
	{"flag",		"GLASS_DEBRIS"},
	{"flag",		"WHITE_DEBRIS"},
	{"flag",		"ROTATE"},
    {"flag",        "DECO_TRANSLUCENT"},
	{"rem",			"damage - damage applied when exploding. Default is 15."},
	{"rem",			"scale - Scale of deco. Default 1.0."},
	{"rem",			"model  - choose model # -- see list."},
	{"rem",			"mass   - *optional* - including this overrides the mass value in decoinfo.txt"}, 
	{"rem",			"frame  - allows you to specify the starting frame for the model."},
	{"rem",			"animseq - allows you to specify an animation sequence for the model if"},
	{"rem",			"  it has multiple sequences defined in decoinfo.txt.. this overrides"},
	{"rem",			"  the frame key.. valid sequences are 0-4  DEFAULT is 0"},
	{"rem",         "  see target_framechange to change the sequences by trigger"},
	{"rem",			"x_speed - speed to rotate along x axis in degrees per second"},
	{"rem",			"y_speed - speed to rotate along y axis in degrees per second"},
	{"rem",			"z_speed - speed to rotate along z axis in degrees per second"},
    {"rem",         "alpha - range 0.0-1.0.  Only used if TRANSLUCENT is flagged"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},


    {"classname",	"deco_e2"},
	{"episode",		 "2"},
	{"color",		"1.0 0.0 0.0"},
    {"size",		"-8 -8 -32 8 8 32"},
	{"flag",		"DECO_EXPLODE"},
	{"flag",		"DECO_NO_EXPLODE"},
	{"flag",		"DECO_PUSHABLE"},
	{"flag",		"WOOD_DEBRIS"},
	{"flag",		"METAL_DEBRIS"},
	{"flag",		"GLASS_DEBRIS"},
	{"flag",		"WHITE_DEBRIS"},
	{"flag",		"ROTATE"},
    {"flag",        "DECO_TRANSLUCENT"},
	{"rem",			"model - choose model # -- see list."},
	{"rem",			"mass  - *optional* - including this overrides the mass value in decoinfo.txt"}, 
	{"rem",			"frame - allows you to specify the starting frame for the model."},
	{"rem",			"animseq - allows you to specify an animation sequence for the model if"},
	{"rem",			"  it has multiple sequences defined in decoinfo.txt.. this overrides"},
	{"rem",			"  the frame key.. valid sequences are 0-4  DEFAULT is 0"},
	{"rem",         "  see target_framechange to change the sequences by trigger"},
	{"rem",			"x_speed - speed to rotate along x axis in degrees per second"},
	{"rem",			"y_speed - speed to rotate along y axis in degrees per second"},
	{"rem",			"z_speed - speed to rotate along z axis in degrees per second"},
    {"rem",         "alpha - range 0.0-1.0.  Only used if TRANSLUCENT is flagged"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},

    {"classname",	"deco_e3"},
	{"episode",		 "3"},
	{"color",		"1.0 0.0 0.0"},
    {"size",		"-8 -8 -32 8 8 32"},
	{"flag",		"DECO_EXPLODE"},
	{"flag",		"DECO_NO_EXPLODE"},
	{"flag",		"DECO_PUSHABLE"},
	{"flag",		"WOOD_DEBRIS"},
	{"flag",		"METAL_DEBRIS"},
	{"flag",		"GLASS_DEBRIS"},
	{"flag",		"WHITE_DEBRIS"},
	{"flag",		"ROTATE"},
    {"flag",        "DECO_TRANSLUCENT"},
	{"rem",			"model - choose model # -- see list."},
	{"rem",			"mass  - *optional* - including this overrides the mass value in decoinfo.txt"}, 
	{"rem",			"frame - allows you to specify the starting frame for the model."},
	{"rem",			"animseq - allows you to specify an animation sequence for the model if"},
	{"rem",			"  it has multiple sequences defined in decoinfo.txt.. this overrides"},
	{"rem",			"  the frame key.. valid sequences are 0-4  DEFAULT is 0"},
	{"rem",         "  see target_framechange to change the sequences by trigger"},
	{"rem",			"x_speed - speed to rotate along x axis in degrees per second"},
	{"rem",			"y_speed - speed to rotate along y axis in degrees per second"},
	{"rem",			"z_speed - speed to rotate along z axis in degrees per second"},
    {"rem",         "alpha - range 0.0-1.0.  Only used if TRANSLUCENT is flagged"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},

    {"classname",	"deco_e4"},
	{"episode",		 "4"},
	{"color",		"1.0 0.0 0.0"},
    {"size",		"-8 -8 -32 8 8 32"},
	{"flag",		"DECO_EXPLODE"},
	{"flag",		"DECO_NO_EXPLODE"},
	{"flag",		"DECO_PUSHABLE"},
	{"flag",		"WOOD_DEBRIS"},
	{"flag",		"METAL_DEBRIS"},
	{"flag",		"GLASS_DEBRIS"},
	{"flag",		"WHITE_DEBRIS"},
	{"flag",		"ROTATE"},
    {"flag",        "DECO_TRANSLUCENT"},
	{"rem",			"model - choose model # -- see list."},
	{"rem",			"mass  - *optional* - including this overrides the mass value in decoinfo.txt"}, 
	{"rem",			"frame - allows you to specify the starting frame for the model."},
	{"rem",			"animseq - allows you to specify an animation sequence for the model if"},
	{"rem",			"  it has multiple sequences defined in decoinfo.txt.. this overrides"},
	{"rem",			"  the frame key.. valid sequences are 0-4  DEFAULT is 0"},
	{"rem",         "  see target_framechange to change the sequences by trigger"},
	{"rem",			"x_speed - speed to rotate along x axis in degrees per second"},
	{"rem",			"y_speed - speed to rotate along y axis in degrees per second"},
	{"rem",			"z_speed - speed to rotate along z axis in degrees per second"},
    {"rem",         "alpha - range 0.0-1.0.  Only used if TRANSLUCENT is flagged"},
	{"rem",			 "spawnname - classname of entity to throw out upon death"},

	///////////////////////////////////////////////////////////////////////////
	//	debugging
	///////////////////////////////////////////////////////////////////////////
/*
	{"classname",	"kingg"},
	{"color",		"1.0 0.0 0.0"},
	{"size",		"-16 -16 -24 16 16 32"},
*/
	///////////////////////////////////////////////////////////////////////////
	//	targets
	///////////////////////////////////////////////////////////////////////////

	{"classname",	"target_turret"},
	{"color",		"0.5 0.5 1.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"rem",			"model - modelname of the turret (default is popup turret)"},
	{"rem",			"height/frames - number of frames in the popup animation"},
	{"rem",			"sound_up - the sound of the turret popping up"},
	{"rem",			"sound_down - the sound of the turret going down"},
	{"rem",			"hit_sound - sound played when it dies"},
	{"rem",			"ammo_type - for future use"},
	{"rem",			"fire_rate - secs between firing default = 0.20"},
	{"rem",			"range - attack radius default = 512"},
	{"rem",			"basedmg - dmg done with a hit"},
	{"rem",			"rnddmg - random damage amount added on"},
	{"rem",			"health - health value"},
	{"rem",			"KEYS:"},
	{"rem",			"  TOGGLE - when checked, targeting it toggles it on and off"},

	{"sndkeys",		"sound_up,sound_down,hit_sound"},
	
	{"flag",		"TOGGLE"},


	{"classname",	"target_laser"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"rem",			"angle - direction of laser"},
	{"rem",			"target - target laser will aim at.  Can be moving."},
	{"rem",			"sound - the looping sound a laser will play when activated."},

	{"sndkeys",		"sound"},
	
	{"flag",		"START_ON"},
	{"flag",		"RED"},
	{"flag",		"GREEN"},
	{"flag",		"BLUE"},
	{"flag",		"YELLOW"},
	{"flag",		"LIGHTRED"},
	{"flag",		"WIDE BEAM"},

	{"classname",	"target_earthquake"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"rem",			"severity or speed - severity of quake"},
	{"rem",			"duration or count - length of quake in seconds"},
	{"rem",			"damage - damage amount per frame"},
	{"rem",			"radius - radius quake effects"},
	{"rem",			"mins - mins attenuation start point from earthquake spawn point(for sound)(default 2000.0f)"},
	{"rem",			"maxs - maxs attenuation end point from earthquake spawn point(end of sound)(default 2024.0f)"},

	{"classname",	"target_spotlight"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"START_ON"},
	{"flag",		"RED"},
	{"flag",		"GREEN"},
	{"flag",		"BLUE"},
	{"flag",		"YELLOW"},
	{"flag",		"LIGHTRED"},
	{"rem",			"length - length of the light beam.. default is 2048"},
	{"rem",			"radius - radius of starting point, end radius is based on length"},
	{"rem",			"default color is white.. click color checkboxes to change colors"},

	{"classname",	"target_lightramp"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"target",      ""},
	{"speed",		"2"},
	{"message",     "am"},
	{"flag",		"TOGGLE"},
	
	{"rem",			"speed - How many seconds the ramping will take"},
	{"rem",			"message - two letters; starting lightlevel and ending lightlevel"},
	{"rem",			"TOGGLE - make it toggle on and off"},

	{"classname",	"target_framechange"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"target",      ""},
	{"start",       "0"},
	{"end",			"0"},
	{"seqtype",     "FRAME_ONCE"},

	{"sndkeys",		"sound"},

	{"rem",			"target - target entity you want to change the model frame(s) on"},
	{"rem",			"start - starting frame to animate"},
	{"rem",			"end - ending frame to animated..  make it equal to start if just one frame"},
	{"rem",         "seqtype - FRAME_ONCE plays back from start to end, FRAME_LOOP loops start to end"},
	{"rem",			"frametime - time between frames  DEFAULT is 0.1 - 10fps"},
	{"rem",			"delay - time in seconds before triggering the change"},
	{"rem",			"sound - sound file to play when triggering the change"},
	{"rem",			"animseq - if target is a deco, change to one of the predefined"},
	{"rem",			"  sequences in the decoinfo.txt file. Invalid for other entity types"},
	{"rem",			"seqstring - define your own sequence.. overrides the other parms"},
	{"rem",			"  for looping use 0~59 for a 60 frame loop.. for sequencing thru"},
	{"rem",			"  60 frames w/o looping, use 0-59  .. for one frame use 59"},

	{"classname",	"target_effect"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"dir",			"0 0 0"},
	{"gravity",		"1"},
	{"colorstring",	"ltgray"},
	{"speed",		"5"},
	{"count",		"10"},
	{"type",		"5"},
	{"sound",		""},
//	{"flag",		"RANDOM_SPREAD"},
	{"flag",		"START_ON"},
	{"flag",		"TARGET_EFFECT_BEAMS"},
	{"flag",		"TARGET_EFFECT_RANDOM"},
	{"flag",		"TARGET_EFFECT_BEAMS_SMOKE"},

	{"sndkeys",		"sound"},

	{"rem",			"angle     - determines the direction the"},
	{"rem",			"            particles will go"},
	{"rem",			"gravity   - gravity type"},
	{"rem",			"            0 = FALL"},
	{"rem",			"            1 = RISE (default)"},
	{"rem",			"            2 = FLOAT"},
	{"rem",			"_color    - color of the particles"},
	{"rem",			"speed     - speed of particles (default=5)"},
	{"rem",			"count     - number of particles to create"},
	{"rem",			"            (default=10) (max=64)"},
	{"rem",			"type      - particle type"},
	{"rem",			"            0 = SIMPLE"},
	{"rem",			"            1 = SNOW"},
	{"rem",			"            2 = RAIN"},
	{"rem",			"            3 = BLOOD"},
	{"rem",			"            4 = BUBBLE"},
	{"rem",			"            5 = SMOKE (default)"},
	{"rem",			"            6 = SPARKS"},
	{"rem",			"            7 = BIG SPARKS"},
	{"rem",			"            8 = POISON"},
	{"rem",			"            9 = BLUE SPARKS"},
	{"rem",			"            10 = ICE"},
	{"rem",			"length    - length in seconds to spawn"},
	{"rem",			"            particles (default = 1 frame)"},
	{"rem",			"frametime - length of time between"},
	{"rem",			"            particle spawns (default=0.10)"},
	{"rem",			"sound     - wave file to play when the"},
	{"rem",			"            particles are spawned"},
	{"rem",			"RANDOM_SPREAD   "},
	{"rem",			" when checked creates a random"},
	{"rem",			" dispersement of particles around the "},
	{"rem",			" entity's origin"},
	{"rem",			"TARGET_EFFECT_BEAMS"},
	{"rem",			" use beams instead of partices"},
	{"rem",			"TARGET_EFFECT_RANDOM"},
	{"rem",			" fire off effects pseudo-randomly"},

	{"classname",	"target_attractor"},
	{"color",		"1.0 1.0 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},

	{"rem",			"target - target to trigger when attractor is hit"},
	{"rem",         "targetname - necessary so emitters can link with this attractor"},
	{"rem",			"triggerindex - the lower the index, the higher it's priority (i.e. it attracts 1st"},

	{"classname",	"target_monster_spawn"},
	{"color",		"0.0 1.0 1.0"},
	{"size",		"-8 -8 -24 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},
	{"flag",		 "NODE WANDER"},
	{"flag",		 "RANDOM WANDER"},
	{"flag",		 "IGNORE PLAYER"},
	{"flag",		 "SNIPE"},
	{"flag",		 "DO NOT FLY"},
	{"flag",		 "DO NOT MOVE"},
	{"flag",		 ""},
	{"flag",		 "TAKE COVER"},
    {"flag",         "ALWAYS GIB"},
	{"sndkeys",		"sound"},
	{"rem",			"NOTE: each time this entity is targeted, it will spawn a monster"},
	{"rem",			"      of type monsterclass"},
	{"rem",         "monsterclass - exact classname of monster to spawn"},
	{"rem",         "sound - wave file to play when the monster is spawned"},
	{"rem",         "aistate - AI state (see list) for monster to immediately do"},

	{"classname",	"target_lightray"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"rem",			"angle - direction of lightray"},
	{"rem",			"target - target lightray will aim at.  Cannot be moving!"},
	
	{"flag",		"START_ON"},
	{"flag",		"RED"},
	{"flag",		"GREEN"},
	{"flag",		"BLUE"},
	{"flag",		"YELLOW"},
	{"flag",		"LIGHTRED"},
	{"flag",		"WIDE BEAM"},

	{"classname",	"target_throw"},
	{"color",		"0.0 0.5 0.8"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"CLIENT_ONLY"},
	{"rem",			"xy_vel - velocity to give the user in xy plane"},
	{"rem",			"z_vel - upward velocity to give user"},

	///////////////////////////////////////////////////////////////////////////
	//	ambient shit
	///////////////////////////////////////////////////////////////////////////

	{"classname",	"e_seagull"},
	{"color",		"0.5 0.5 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},

	{"classname",	"fish_goldfish"},
	{"color",		"0.5 0.5 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},

	{"classname",	"fish_grayfish"},
	{"color",		"0.5 0.5 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},

	{"classname",	"fish_guppy1"},
	{"color",		"0.5 0.5 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},

	{"classname",	"fish_guppy2"},
	{"color",		"0.5 0.5 0.0"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		 "WANDER"},
	{"flag",		 "PATHFOLLOW"},

	///////////////////////////////////////////////////////////////////////////
	//	pickup items
	///////////////////////////////////////////////////////////////////////////
	{"classname",    "item_health_25"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "Gives 25 health"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_health_50"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "Gives 50 health"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_goldensoul"},
	{"modelname",	 "models/global/a_gsoul"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "Maxes health to twice vitality."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_megashield"},
	{"modelname",	 "models/global/a_mshield"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 seconds of invulnerability."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_invincibility"},
	{"modelname",	 "models/global/a_invincibility"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "?? seconds of invulnerability."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_wraithorb"},
	{"modelname",	 "models/global/a_wraithorb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "20% translucency, unlessed stopped, in which case"},
	{"rem",          "the player is completely invisible.  Lasts 30 seconds."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_savegem"},
	{"modelname",	 "models/global/a_savegem"},
	{"color",        "0.3 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "save gems are stored in inventory, usable to save games. "},

	{"classname",    "item_power_boost"},
	{"modelname",	 "models/global/a_pwrb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 second boost to attack power."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_attack_boost"},
	{"modelname",	 "models/global/a_atkb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 second boost to attack speed."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_speed_boost"},
	{"modelname",	 "models/global/a_spdb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 second boost to movement speed."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_acro_boost"},
	{"modelname",	 "models/global/a_acrb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 second boost to acrobatic speed."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_vita_boost"},
	{"modelname",	 "models/global/a_vtlb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "30 second boost to vitality."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 2 artifacts
	////////////////////////////////////////
	{"classname",    "item_antidote"},
	{"modelname",	 "models/e2/a_antidote"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "Cures poisonous wound"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_drachma"},
	{"modelname",	 "models/e2/a2_drachma"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"rem",          "Needed for the Ferryman"},

	{"classname",    "item_horn"},
	{"modelname",	 "models/e2/a2_horn"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"rem",          "Needed to call the Ferryman"},

	////////////////////////////////////////
	// Episode 3 artifacts
	////////////////////////////////////////
	{"classname",    "item_purifier_shard1"},
	{"modelname",	 "models/e3/purifier_1"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three shard types of the "},
	{"rem",			 "Purifier sword."},

	{"classname",    "item_purifier_shard2"},
	{"modelname",	 "models/e3/purifier_1"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three shard types of the "},
	{"rem",			 "Purifier sword."},

	{"classname",    "item_purifier_shard3"},
	{"modelname",	 "models/e3/purifier_1"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three shard types of the "},
	{"rem",			 "Purifier sword."},

	{"classname",    "item_black_chest"},
	{"modelname",	 "models/e3/a_blackchest"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "There is a 50% chance of explosion"},
	{"rem",          "Otherwise an atrifact will appear"},
//	{"rem",          "There is a 50% chance of explosion which takes 75% "},
//	{"rem",			 "damage and -10 HP or 100 HP magical health."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_wood_chest"},
	{"modelname",	 "models/e3/a_woodchest"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "When opened will spawn a 1 of the 5 boosts "},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_ice_boots"},
	{"modelname",	 "models/e3/a_iceboot"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "Stops wearer from sliding on ice indefinitely."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_ring_of_fire"},
	{"modelname",	 "models/e3/a_ring_fire"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "you take no damage from fire-based attacks."},
	{"rem",          "Absorbs 500 HP before breaking."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_ring_of_undead"},
	{"modelname",	 "models/e3/a_ringund"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "you take no damage from Nharre's undead attacks."},
	{"rem",          "Absorbs 500 HP before breaking."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_ring_of_lightning"},
	{"modelname",	 "models/e3/a_ringlig"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "you take no damage from lightning attacks."},
	{"rem",          "Absorbs 500 HP before breaking."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 4 artifacts
	////////////////////////////////////////
	{"classname",    "item_envirosuit"},
	{"modelname",	 "models/e4/a_envsuit"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "60 seconds of air and protection from harmful liquids."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_bottle"},
	{"modelname",	 "models/e4/a_bottle"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -34 16 16 40"},
	{"rem",			 "bottle for e4m1 explosives"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_sulphur"},
	{"modelname",	 "models/e4/a_sulphur"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -32 16 16 40"},
	{"rem",			 "sulphur pouch for e4m1 explosives"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_charcoal"},
	{"modelname",	 "models/e4/a_charcoal"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -28 16 16 40"},
	{"rem",			 "charcoal e4m1 explosives"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_saltpeter"},
	{"modelname",	 "models/e4/a_saltp"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-1 -1 -33 16 16 40"},
	{"rem",			 "saltpeter for e4m1 explosives"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 1 keys
	////////////////////////////////////////
	{"classname",    "item_keycard_cell"},
	{"modelname",	 "models/e1/a1_clcrd"},
	{"episode",		 "1"},
	{"color",        "1.0 0.5 0.8"},
	{"size",         "-16 -16 -31 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "E1 prison cell key"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 2 keys
	////////////////////////////////////////
	{"classname",    "item_rune_a"},
	{"modelname",	 "models/e2/c_runea"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"rem",          "One of five needed to open the Parthenon gates."},

	{"classname",    "item_rune_e"},
	{"modelname",	 "models/e2/c_runee"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},	
	{"rem",          "One of five needed to open the Parthenon gates."},

	{"classname",    "item_rune_g"},
	{"modelname",	 "models/e2/c_runeg"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"rem",          "One of five needed to open the Parthenon gates."},

	{"classname",    "item_rune_i"},
	{"modelname",	 "models/e2/c_runei"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"rem",          "One of five needed to open the Parthenon gates."},

	{"classname",    "item_rune_s"},
	{"modelname",	 "models/e2/c_runes"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},	
	{"rem",          "One of five needed to open the Parthenon gates."},

	////////////////////////////////////////
	// Episode 3 keys
	////////////////////////////////////////
	{"classname",    "item_crypt_key"},
	{"modelname",	 "models/e3/a3_crkey"},
	{"episode",		 "3"},
	{"color",        "1.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "E3 crypt key"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_wyndrax_key"},
	{"modelname",	 "models/e3/a3_ltkey"},
	{"episode",		 "3"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "E3 wyndrax key"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_evilbook"},
	{"modelname",	 "models/e3/a3_booke"},
	{"episode",		 "3"},
	{"color",        "1.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "E3 wyndrax evil spell book"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},
	
	{"classname",    "item_spellbook"},
	{"modelname",	 "models/e3/a3_bookw"},
	{"episode",		 "3"},
	{"color",        "1.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "E3 wyndrax spell book"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_hex_keystone"},
	{"modelname",	 "models/e3/hex"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three keystones needed to  "},
	{"rem",			 "open the village gates."},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "hex keystone"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_quad_keystone"},
	{"modelname",	 "models/e3/quad"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three keystones needed to  "},
	{"rem",			 "open the village gates."},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "quad keystone"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_trigon_keystone"},
	{"modelname",	 "models/e3/trigon"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "One of the three keystones needed to  "},
	{"rem",			 "open the village gates."},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "trigon keystone"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 4 keys
	////////////////////////////////////////
	{"classname",    "item_control_card_blue"},
	{"modelname",	 "models/e4/a4_clcbl"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "Blue control card"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_control_card_yellow"},
	{"modelname",	 "models/e4/a4_clcyl"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "Yellow control card"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_control_card_green"},
	{"modelname",	 "models/e4/a4_clcgr"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"flag",		 "USE ONCE"},
	{"flag",		 "UNLOCK"},
	{"flag",		 "USE TARGETS"},
	{"sndkeys",		 "sound"},
	{"rem",			 "Green control card"},
	{"rem",			 "sound - sound played when the key is used"},
	{"rem",			 "Flags:\n"},
	{"rem",			 "  USE ONCE - deleted from the players inv after use"},
	{"rem",			 "  UNLOCK - removes target and key req. on affected entity"},
	{"rem",			 "  i.e. you don't need a key or button after unlocking the door"},
	{"rem",			 "  USE TARGETS - use the keys target when it is picked up"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 1 armor
	////////////////////////////////////////
	{"classname",    "item_plasteel_armor"},
	{"modelname",	 "models/e1/a1_ar1"},
	{"episode",		 "1"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -34 16 16 40"},
	{"rem",          "Value 100.  Absorbs 1/3 damage."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_chromatic_armor"},
	{"modelname",	 "models/e1/a1_ar2"},
	{"episode",		 "1"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -35 16 16 40"},
	{"rem",          "VALUE: 200%"},
	{"rem",			 "EFFECT: Absorbs 1/2 damage"},
	{"rem",			 "SPECIAL: Reflects lasers, but you take 1/4 damage "},
	{"rem",			 "from laser."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 2 armor
	////////////////////////////////////////
	{"classname",    "item_silver_armor"},
	{"modelname",	 "models/e2/a2_ar1"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 200%"},
	{"rem",			 "EFFECT: Absorbs 1/2 damage."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_gold_armor"},
	{"modelname",	 "models/e2/a2_ar2"},
	{"episode",		 "2"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 200%"},
	{"rem",			 "EFFECT: Absorbs 3/4 damage."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 3 armor
	////////////////////////////////////////
	{"classname",    "item_chainmail_armor"},
	{"modelname",	 "models/e3/a3_ar1"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 125%"},
	{"rem",			 "EFFECT: Absorbs 1/3 damage"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	{"classname",    "item_black_adamant_armor"},
	{"modelname",	 "models/e3/a3_ar2"},
	{"episode",		 "3"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 250%"},
	{"rem",			 "EFFECT: Absorbs 1/2 damage"},
	{"rem",			 "SPECIAL: Fire protection.  Absorbs 3/4 damage"},
	{"rem",			 "from fire."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

	////////////////////////////////////////
	// Episode 4 armor
	////////////////////////////////////////
	{"classname",    "item_kevlar_armor"},
	{"modelname",	 "models/e4/a4_ar1"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 100%"},
	{"rem",			 "EFFECT: Absorbs 40% damage"},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},
	
	{"classname",    "item_ebonite_armor"},
	{"modelname",	 "models/e4/a4_ar2"},
	{"episode",		 "4"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 -24 16 16 40"},
	{"rem",          "VALUE: 200%"},
	{"rem",			 "EFFECT: Absorbs 60% damage"},
	{"rem",			 "SPECIAL: Tazerhook can't grab.  1/2 of rocket"},
	{"rem",			 "radius damage."},
	{"flag",		 "SUPERFLY"},
   	{"flag",		 "MIKIKO"},

/*
		
	{"classname",    "item_health_field"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "There are three health levels: 10%, 25%, 40%. The "},
	{"rem",			 "values are random, within a specified range."},

	{"classname",    "item_health_kit_10"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "gives 10-15% health."},

	{"classname",    "item_health_kit_20"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "gives 20-25% health."},

	{"classname",    "item_wraithorb"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "20% translucency, unlessed stopped, in which case"},
	{"rem",          "the player is completely invisible.  Lasts 60 seconds."},

	{"classname",    "item_goldensoul"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "+100 health, max of twice vitality."},

	{"classname",    "item_antidote"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "Cures poisonous wounds."},

	{"classname",    "item_jet_boots"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "60 seconds of flying power."},

	{"classname",    "item_oxylung"},
	{"color",        "0.0 0.5 0.8"},
	{"size",         "-16 -16 0 16 16 40"},
	{"rem",          "60 of air under water."},

*/
	{"classname",	"NPCtrigger_waithere"},
	{"color",		"0.5 0.5 0.5"},	
	{"flag",		"ANY_DIR"},
	{"rem",			"Only NPCs can trigger this.  When an NPC hits this trigger"},
	{"rem",			"while going in the direction specified by ANGLE, the NPC will"},
	{"rem",			"stop and begin waiting for it's owner to give it a new task."},
	{"rem",			"Use this trigger along with NPCtrigger_stopwaithere to have an"},
	{"rem",			"NPC wait for the client to complete a difficult area of a map."},
	{"rem",			" "},
	{"rem",			"Makes superfly and/or Mikiko stop and wait until a new goal is"},
	{"rem",			"given to them, usually by NPCtrigger_stopwaithere."},
	{"rem",			"angle -    the angle the NPC must be moving to activate the"},
	{"rem",			"           trigger, +/- 45 degrees."},
	{"rem",			"sfly_msg - message for superfly to say when hitting this trigger"},
	{"rem",			"miko_msg - message for mikiko to say when hitting this trigger"},
	{"rem",			"ANY_DIR  - NPC can trigger from any direction.  USE CAREFULLY."},
	{"rem",			"           using this incorerctly can cause NPC to toggle this"},
	{"rem",			"           trigger when the player is not going to where there"},
	{"rem",			"           is a NPCtrigger_stopwaithere"},

	{"classname",	"NPCtrigger_stopwaithere"},
	{"color",		"0.5 0.5 0.5"},	
	{"flag",		"ANY_DIR"},
	{"rem",			"Only clients can trigger this.  It will inform all waiting NPCs"},
	{"rem",			"that they should begin following the player again."},
	{"rem",			" "},
	{"rem",			"angle -    the angle the client must be moving to activate the"},
	{"rem",			"           trigger, +/- 45 degrees."},
	{"rem",			"sfly_msg - message for superfly to say when hitting this trigger"},
	{"rem",			"miko_msg - message for mikiko to say when hitting this trigger"},
	{"rem",			"ANY_DIR  - NPC can trigger from any direction.  USE CAREFULLY."},
	{"rem",			"           using this incorerctly can cause the client to toggle"},
	{"rem",			"           this trigger before it is safe for the NPC to continue"},

	{"classname",	"NPCtrigger_teleport"},
	{"color",		"0.5 0.5 0.5"},	
	{"flag",		"ANY_DIR"},
	{"rem",			"Only clients can trigger this.  It will teleport all NPCs owned"},
	{"rem",			"by that client to their respective target entities."},
	{"rem",			"angle -    the angle the client must be moving to activate the"},
	{"rem",			"           trigger, +/- 45 degrees."},
	{"rem",			"sfly_msg - message for superfly to say when hitting this trigger"},
	{"rem",			"miko_msg - message for mikiko to say when hitting this trigger"},
	{"rem",			"sfly_target - targetname of entity Superfly will teleport to"},
	{"rem",			"miko_target - targetname of entity Mikiko will teleport to"},
	{"rem",			"ANY_DIR  - NPC can trigger from any direction.  USE CAREFULLY."},
	{"rem",			"           using this incorerctly can cause the client to toggle"},
	{"rem",			"           this trigger before it is safe for the NPC to continue"},

	{"classname",	"NPCteleport_dest"},
	{"color",		"0.5 0.5 0.5"},	
	{"size",		"-16 -16 -24 16 16 32"},

	{"classname",	"trigger_monsterjump"},
	{"color",		"0.5 0.5 0.5"},	
	{"flag",		"ANY_DIR"},
	{"flag",		"ONCE"},
	{"rem",			"If trigger has a target, a monster touching this trigger will jump"},
	{"rem",			"to the target entity's location (providing it's upward velocity"},
	{"rem",			"gives it enough time in the air to do so).  The monster will only"},
	{"rem",			"jump if it is traveling the same direction as the trigger's angles"},
	{"rem",			"+ or - 45 degrees."},
	{"rem",			"If trigger has not target, then a monster touching this trigger will"},
	{"rem",			"jump in the direction of the triggers angles.  The monster will use"},
	{"rem",			"its default running and jumping velocities.  Monsters will jump any"},
	{"rem",			"time they hit this trigger (when the trigger has no target), no matter"},
	{"rem",			"what direction the monster is traveling it, it will jump in the direction"},
	{"rem",			"of the trigger's angles."},
	{"rem",			"ANY_DIR - targeted triggers will make monster jump no matter what"},
	{"rem",			"          direction the monster is travelling."},
	{"rem",			"ONCE    - trigger will only work one time, then remove itself."},


	{"classname",	"target_speaker"},
	{"color",		"0.0 1.0 0.5"},
	{"size",		"-8 -8 -8 8 8 8"},
	{"flag",		"LOOPED_ON"},
	{"flag",		"LOOPED_OFF"},
	{"flag",		"RELIABLE"},
	{"flag",		"NON_DIRECTIONAL"},
	{"flag",		"START_OFF"},

	{"sndkeys",		"sound1,sound2,sound3,sound4"},

	{"rem",			"sound# - wav file to play, where # represents 1-6 multiple wav files activate random play mode"},
	{"rem",			"delay - 0 default - seconds between random play"},
	{"rem",			"mindelay - 0 default - minimum seconds between random playings"},
	{"rem",			"volume - 0.0 to 1.0"},
	{"rem",			"min - 0 to 2040 - minimum distance (volume full)"},
	{"rem",			"max - 0 to 8160 - maximum distance (volume none)"},
	{"rem",			"LOOPED_ON - Sound will loop"},
	{"rem",			"LOOPED_OFF - Sound will loop but will start off"},
	{"rem",			"RELIABLE - guaranteed delivery to client"},
	{"rem",			"NON_DIRECTIONAL - doesn't play positionally, but still attenuates"},
	{"rem",			"START_OFF - Sound will start in the off state."},

	{"classname",    "view_rotate"},
	{"color",        "1.0 0.5 0.0"},
    {"size",         "-16 -16 -16 16 16 16"},
	{"rem",          "For debugging only."},

	{"classname",    "func_event_generator"},
	{"color",        "0 0.5 0.8"},
	{"flag",		"TRIGGER_ONCE"},
	{"flag",		"TRIGGER_TOUCHABLE"},

	{"sndkeys",		"sound"},

	{"rem",			"sound - Sound to play when triggered."},
	{"rem",			""},
	{"rem",			"The func_event_generator will trigger and event"},
	{"rem",			"or group of events after a specified delay"},
	{"rem",			"To use, set the key to the target name of the entity"},
	{"rem",			"you want to trigger and set the value to the delay."},
	{"rem",			"TRIGGER_ONCE causes the trigger to be removed after"},
	{"rem",			"it has been triggered"},
	{"rem",			"TRIGGER_TOUCHABLE causes the trigger to be activated"},
	{"rem",			"when it is touched (as opposed to being targeted)"},

	////////////////////////////////////////
	// Capture the Flag items.
	////////////////////////////////////////
	{"classname",    "item_flag_team1"},
	{"color",        "0.8 0.0 0.0"},
	{"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "The Red team's Flag"},

	{"classname",    "item_flag_team2"},
	{"color",        "0.0 0.0 0.8"},
	{"size",         "-8 -8 -8 8 8 8"},
	{"rem",          "The Red team's Flag"},

	{"classname",    "trigger_capture_flag1"},
	{"color",        "0.8 0.0 0.0"},
	{"rem",          "Return the team1's flag here to win."},

	{"classname",    "trigger_capture_flag2"},
	{"color",        "0.0 0.0 0.8"},
	{"rem",          "Return the team2's flag here to win."},

	{"classname",    "info_player_team1"},
	{"color",        "1 0 0"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location player on team 1 starts"},

	{"classname",    "info_player_team2"},
	{"color",        "0 0 1"},
	{"size",         "-16 -16 -24 16 16 32"},
	{"rem",          "Location player on team 1 starts"},

	{NULL,            NULL},

};

#endif